こんにちは、XML ファイルのノードの読み取りに問題がありますか? XML で子ノードが見つかりません。このコードはノードを検出しません。私が変更した場合:
XmlNodeList dataNodes = xmlDoc.SelectNodes("//Properties");
に
XmlNodeList dataNodes = xmlDoc.SelectNodes("//NewDataSet");
次に、プロパティとリクエストデータを取得する2つのノードが返されますが、プロパティの子ノードが必要です。
プロパティの子ノードが表示されない理由を教えてください。それらを見つけるのを手伝ってください。
これが私の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 ファイルから値を取り出す方法を教えてください。