任何朋友都可以帮忙解决这个问题。 现在我想在获得值时阅读完整的路径。
<?xml version="1.0" encoding="UTF-8" ?>
<Element xsi:schemaLocation="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd xsd2009027_kor21.xsd" Kod="370" xmlns="http://localhost/AML/CaseInvestigationMangement/Moduli/XmlImportControls/xsdBorrow.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
/2001/XMLSchema-instance">
<ANode>
<BNode>
<CNode>
<Example>
<Name>John</Name>
<NO>001</NO>
</Example>
</CNode>
</BNode>
<ID>1234</ID>
<Date>2011-10-01</Date>
</ANode>
<ANode>
<BNode>
<CNode>
<Example>
<Name>Mike</Name>
<NO>002</NO>
</Example>
</CNode>
</BNode>
<ID>5678</ID>
<Date>2011-03-31</Date>
</ANode>
</Element>
现在我想读取一个完整的路径,当我得到一个值,比如NO元素,然后我想存储完整的路径NO-&gt; Example-&gt; Cnode-&gt; Bnode-&gt; Anode。请帮忙... 我使用XMLTextReader来读取xml元素和值。如需更多参考,请点击I want to read the xml sub sub sub node name and value
答案 0 :(得分:0)
使用xml linq,您可以执行以下操作:
var doc = XDocument.Load(@"fileUri");
var paths=doc.Descendants()
.Where(e=>!(e.HasElements || String.IsNullOrEmpty(e.Value)))
.Select(e=>e.Name+"->"+
String.Join("->",e.Ancestors().Select(a=>a.Name)));