C# XDocument子体,使用c中的元素值

C# XDocument子体,使用c中的元素值,c#,xml,C#,Xml,我有一个问题,我不能得到…不知道是什么问题 守则: doc.xml看起来像: 正如我们在doc.xml中所看到的,有一个值为1的元素,使用后代和foreach…我想保存同一个文档,但使用标记值命名输出文件。我做错了什么。此代码仅用于测试 您的XML具有默认名称空间。您可以使用XNamespace plus元素的本地名称来寻址命名空间中的元素: ...... //assume that the default namespace declared as <OAI-PMH xmlns="dum

我有一个问题,我不能得到…不知道是什么问题

守则:

doc.xml看起来像:


正如我们在doc.xml中所看到的,有一个值为1的元素,使用后代和foreach…我想保存同一个文档,但使用标记值命名输出文件。我做错了什么。此代码仅用于测试

您的XML具有默认名称空间。您可以使用XNamespace plus元素的本地名称来寻址命名空间中的元素:

......
//assume that the default namespace declared as <OAI-PMH xmlns="dummy.uri" ....>
XNamespace d = "dummy.uri";
var node = doc.Descendants(d+"identifier");
......

有什么问题?你想让我们猜吗?读懂你的心思吗?不,当我运行这个时,我在保存文件夹中得到的只是doc.xml,没有文件\ u 1.xml。为什么?
<?xml version="1.0" encoding="utf-8"?>
    <OAI-PMH xmlns="..." xmlns:xsi="..." xsi:schemaLocation="...">
      <responseDate>...</responseDate>
      <request verb="GetRecord" identifier="1"</request>
      <GetRecord>
        <record>
          <header>
            <identifier>1</identifier>
            <datestamp>...</datestamp>
          </header>
          <metadata>
            <P3DM xmlns="..." xsi:schemaLocation="...">
              <MODELINFOID>1</MODELINFOID>
              <TITLE>Roth</TITLE>
  ....
......
//assume that the default namespace declared as <OAI-PMH xmlns="dummy.uri" ....>
XNamespace d = "dummy.uri";
var node = doc.Descendants(d+"identifier");
......