您好我在读取 XML 文件的节点时遇到问题?我在 XML 中找不到子节点。此代码找不到节点。如果我改变:
XmlNodeList dataNodes = xmlDoc.SelectNodes("//Properties");
到
XmlNodeList dataNodes = xmlDoc.SelectNodes("//NewDataSet");
然后我得到两个节点返回我得到属性和请求数据,但我想要属性子节点。
有人可以告诉我为什么我看不到属性的子节点,请帮我找到它们。
这是我的 C# 代码。
if (File.Exists("C://Users//Shaun//Documents//Visual Studio 2010//Projects//LightStoneTestService//LightStoneTestService//FileTest//Testdo.xml")) //In bin and Debug
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C://Users//Shaun//Documents//Visual Studio 2010//Projects//LightStoneTestService//LightStoneTestService//FileTest//Testdo.xml");
XmlNodeList dataNodes = xmlDoc.SelectNodes("//Properties");
foreach (XmlNode node in dataNodes)
{
int Count = 0;
int Max = node.ChildNodes.Count;
foreach (XmlNode childNode in node.ChildNodes) //For each child node in FieldData
{
if (ArrayProperties[Count].LightStoneTag == childNode.Name)
{
ArrayProperties[Count].Value = node.SelectSingleNode(ArrayProperties[Count].LightStoneTag).InnerText;
}
Count = Count + 1;
}
}
这是我正在尝试读取属性中的所有节点的 XML 文件:
<NewDataSet>
<RequestData xmlns="RequestData">
<Req_ID>fe0bc7ab-1dc9-4526-bd29-b522ff13e162</Req_ID>
</RequestData>
<Properties xmlns="Properties">
<sr_id>19374149</sr_id>
<prop_id>9841107</prop_id>
<DEED_ID>21</DEED_ID>
<PROPTYPE_ID>2</PROPTYPE_ID>
<SS_ID>2315</SS_ID>
<NAD_ID>3048001</NAD_ID>
<property_type>SS</property_type>
<PROVINCE>GA</PROVINCE>
<MUNICNAME>CITY OF JOHANNESBURG</MUNICNAME>
<DEEDTOWN>ALLENS NEK</DEEDTOWN>
<SECTIONAL_TITLE>SS GREENHILLS</SECTIONAL_TITLE>
<UNIT>15</UNIT>
<ERF>627</ERF>
<PORTION>0</PORTION>
<BUYER_NAME>FOURIE MARION ROBB</BUYER_NAME>
<FIRSTNAME>MARION</FIRSTNAME>
<MIDDLENAME>ROBB</MIDDLENAME>
<SURNAME>FOURIE</SURNAME>
<PERSON_TYPE_ID>PP</PERSON_TYPE_ID>
<BUYER_IDCK>7402110182087</BUYER_IDCK>
<MUNIC_ID>74</MUNIC_ID>
<PROV_ID>8</PROV_ID>
<STREET_NUMBER>973</STREET_NUMBER>
<STREET_NAME>MAIN</STREET_NAME>
<STREET_TYPE>ROAD </STREET_TYPE>
<PO_CODE>1709</PO_CODE>
<User_ID>2443598d-948b-4322-bd91-d39f57bec1b6</User_ID>
<SS_Number>29</SS_Number>
<SS_UnitNoFrom>1</SS_UnitNoFrom>
<SS_UnitTo>26</SS_UnitTo>
<Size>65</Size>
<X>27.919578</X>
<Y>-26.125565</Y>
<SUBURB>ALLENS NEK</SUBURB>
<Registrar>J</Registrar>
<Title_Deed_No>ST28776/2004</Title_Deed_No>
<Reg_Date>20040519</Reg_Date>
<TownShip>ALLENS NEK</TownShip>
<Purchase_Price>236500</Purchase_Price>
<Purchase_Date>20031020</Purchase_Date>
<Bond_Number>SB37369/2006</Bond_Number>
<Township_alt>ALLEN'S NEK EXT 32</Township_alt>
<RE>false</RE>
</Properties>
</NewDataSet>
新零件
我在提取内部文本时遇到问题,我的代码在上面的 foreach 中,我的应用程序不断中断:
ArrayProperties[Count].Value = node.SelectSingleNode(ArrayProperties[Count].LightStoneTag).InnerText;
有人可以告诉我如何从 XML 文件中提取值。