【发布时间】:2015-05-10 06:44:36
【问题描述】:
我正在尝试读取各种类型的 XML 文件,并且在每种 xml 类型中,根名称和所有其他标签都可能会更改。我需要列出所有的 xml 标签,但我无法成功阅读。
这是一种 xml 类型。
<?xml version="1.0" encoding="ISO-8859-9"?>
<ITEMS>
<ITEM DBOP="INS" >
<CARD_TYPE>11</CARD_TYPE>
<CODE>MALZ1</CODE>
<NAME>MALZ1</NAME>
</ITEM>
</ITEMS>
还有一个
<?xml version="1.0" encoding="ISO-8859-9"?>
<CLCARDS>
<CLCARD DBOP="INS" >
<CARD_TYPE>11</CARD_TYPE>
<CODE>CLCARD1</CODE>
<NAME>CLCARD1</NAME>
</CLCARD>
</CLCARDS>
我尝试了下面的代码,但它没有列出所有
string xml = txtXml.Text;
XDocument xdoc = XDocument.Parse(xml);
txtResult.Text = xdoc.Root.Name.ToString() + Environment.NewLine;
foreach (XElement element in xdoc.Elements())
txtResult.Text += element.Name.ToString() + Environment.NewLine;
它只是为第一个 xml 列出了下面的标签
items
items
我想在下面列出它
items
item
card_type
code
name
如何使用 LINQ 获得这样的结果?
【问题讨论】:
-
请参阅stackoverflow.com/a/20975582/1806780 以获取有关如何执行此操作的提示,虽然它不是 LINQ,但它是可枚举的。
标签: c# xml linq xml-parsing