20
我有一个遇到XML文档(使用C#)的问题并获取所有必需的值。我成功地遍历了XML文档中的所有指定的XmlNodeLists,成功获取了所有的XmlNode值,但是我必须在这个XmlNodeList之外获得一些值。从XML文档获取指定的节点值
例如:
<?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在每一个XML文档中发现的阳极:
XmlDocument xml = new XmlDocument();
xml.LoadXml(myXmlString); //myXmlString is the xml file in string //copying xml to string: string myXmlString = xmldoc.OuterXml.ToString();
XmlNodeList xnList = xml.SelectNodes("/Element[@*]/ANode/BNode/CNode");
foreach (XmlNode xn in xnList)
{
XmlNode example = xn.SelectSingleNode("Example");
if (example != null)
{
string na = example["Name"].InnerText;
string no = example["NO"].InnerText;
}
}
现在我有获取值的问题ID和日期。
我尝试这样做,但我没有得到任何价值。 “阳极”为空,并跳到一行:“if(阳极!=空)”。 –
也尝试从第一行删除**阳极**。第一行应该是'XmlNodeList xnList = xml.SelectNodes(“/ Element [@ *]”);'。在这种情况下,我得到了** id **和** date **的值,但是我在foreach(CNodes中的XmlNode节点)行中得到了跳转。 –
立即尝试。编辑的版本应该可以工作。 – msarchet