Note that there are some explanatory texts on larger screens.

plurals
  1. POreading double nested xml
    primarykey
    data
    text
    <p>I'm trying to read the following XML file</p> <pre><code>&lt;Tabellen&gt; &lt;Header&gt; &lt;Tables&gt; &lt;Table&gt;SW_RL&lt;/Table&gt; &lt;Fields&gt; &lt;Field&gt;KeyVeld&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;ErrorCode&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;50&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;Description&lt;/Field&gt; &lt;Type&gt;Memo&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;/Tables&gt; &lt;/Header&gt; &lt;Header&gt; &lt;Tables&gt; &lt;Table&gt;SW_RH&lt;/Table&gt; &lt;Fields&gt; &lt;Field&gt;DocNum&lt;/Field&gt; &lt;Type&gt;Numeric&lt;/Type&gt; &lt;Size&gt;0&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;PaymentTerms&lt;/Field&gt; &lt;Type&gt;Numeric&lt;/Type&gt; &lt;Size&gt;0&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;DocDate&lt;/Field&gt; &lt;Type&gt;Date&lt;/Type&gt; &lt;Size&gt;0&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;Contract_Start&lt;/Field&gt; &lt;Type&gt;Date&lt;/Type&gt; &lt;Size&gt;0&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;Contract_End&lt;/Field&gt; &lt;Type&gt;Date&lt;/Type&gt; &lt;Size&gt;0&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;CardCode&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;40&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;CardName&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;BillToAddress&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;ShipToAddress&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;NumAtCard&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;100&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;BillingPeriod&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;10&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;Fields&gt; &lt;Field&gt;AdvanceBilling&lt;/Field&gt; &lt;Type&gt;Alpha&lt;/Type&gt; &lt;Size&gt;10&lt;/Size&gt; &lt;SubType&gt;st_none&lt;/SubType&gt; &lt;/Fields&gt; &lt;/Tables&gt; &lt;/Header&gt; &lt;/Tabellen&gt; </code></pre> <p>Current code</p> <pre><code>XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(directory + "\\Server_Config.xml"); XmlNodeList xmlNodelist = null; XmlNodeList xmlNodelist2 = null; xmlNodelist = xmldoc.SelectNodes("Tabellen/Header/Tables"); foreach (XmlNode mnode in xmlNodelist) { MessageBox.Show(mnode["Table"].InnerText, "ok"); //create table xmlNodelist2 = xmldoc.SelectNodes("Tabellen/Header/Tables/Fields"); foreach (XmlNode mnode2 in xmlNodelist2) { MessageBox.Show(mnode2["Field"].InnerText, "ok"); // create fields } } </code></pre> <p>The general idea is to create 2 tables Table 1: RL containing 3 fields Table 2 :RH containing 12 fields</p> <p>But actually the result is both tables containing 15 fields</p> <p>What am I doing wrong ??</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload