XPathSelectElements =>字符串表示

时间:2011-12-20 09:04:20

标签: c# asp.net xml xpath

你好,因为误会,我想再问我的问题。

我有以下XML结构:

<?xml version="1.0" encoding="utf-8"?>
<xml>
  <root>
    <Item>
      <taxids>
        <string>330</string>
        <string>374</string>
        <string>723</string>
        <string>1087</string>
        <string>1118</string>
        <string>1121</string>
      </taxids>
    </Item>
  </root>
</xml>

我需要将xml文件中的所有字符串节点都转换为字符串变量。

我想得到一个这样的字符串:

  <taxids><string>330</string><string>374</string><string>723</string><string>1087</string><string>1118</string><string>1121</string></taxids>

我的linq到xml:

var query = from ip in doc.XPathSelectElements("xml/root/Item")
            select ip.XPathSelectElement("taxids").ToString();

但是我在变量查询的一行中得到以下内容:

"System.Xml.XPath.XPathEvaluator+<EvaluateIterator>d__0`1[System.Xml.Linq.XElement]"

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

var result = doc.Element("xml")
                .Element("root")
                .Element("Item")
                .Element("taxids")
                .ToString(SaveOptions.DisableFormatting);

// result == "<taxids><string>330</string><string>374</string> ... </taxids>"