<Customer>
<Type H="General Information" ID="GeneralInfo">
<Row>
<C H="Customer Name">Mr. Robert</C>
<C H="Relation">S/O. John</C>
<C H="Date of Birth">01/01/1985</C>
</Row>
</Type>
<Type H = "Other Details" ID = "ShareDet">
<Row>
<C H = "Address 1">XYZ</C>
<C H = "Address 2">ABC</C>
</Row>
</Type>
</Customer>
我试图从C#以上的XML中读取“罗伯特先生”,但我不能。 我尝试了以下代码:
XmlDocument objXmlMain = new XmlDocument();
objXmlMain.LoadXml("Loading_Above_XMLSTRING");
string test = objXmlMain.SelectSingleNode("Customer/Type/Row/C/@H").Value;
我得到的结果为“ 客户名称”(即属性值)。 我想通过检查属性值“客户名称”来读取名称,并且结果应为“ 罗伯特先生”
答案 0 :(得分:1)
您需要使用:
string test = objXmlMain.SelectSingleNode("Customer/Type/Row/C[@H='Customer Name']").Value;
Customer/Type/Row/C/@H
xpath查询选择H
属性本身,而.Value
返回该属性的文本。