2012-02-28 107 views
-1

需要幫助才能讀取xml文件。我有我想讀,並在下面的數據庫存儲一個XML文件是我的XML代碼子xml節點讀取問題

<?xml version="1.0" encoding="UTF-8"?> 
<Document> 
    <SctiesSttlmTxStsAdvc> 
    <Id> 
     <Id>ACK0000000000004</Id> 
     <CreDtTm> 
       <Dt>2011-08-26</Dt> 
     </CreDtTm> 
    </Id> 
    <TxId> 
     <AcctOwnrTxId>TCP-CMF001-000000004</AcctOwnrTxId> 
    </TxId> 
    <PrcgSts> 
     <AckdAccptd> 
     <NoSpcfdRsn>NORE</NoSpcfdRsn> 
     </AckdAccptd> 
    </PrcgSts> 
    <MsgOrgtr> 
     <PrtryId> 
     <Id>068001</Id> 
     <Issr>BMSC</Issr> 
     </PrtryId> 
    </MsgOrgtr> 
    <MsgRcpt> 
     <PrtryId> 
     <Id>056001</Id> 
     <Issr>BMSC</Issr> 
     </PrtryId> 
    </MsgRcpt> 
    </SctiesSttlmTxStsAdvc> 
    <SctiesSttlmTxStsAdvc> 
    </SctiesSttlmTxStsAdvc> 
</Document> 

上述XML包含發生多時間標籤,我需要找出哪些是有價值的所有子節點的值

+0

你可以使用LINQ to XML在內存中加載XML(http://msdn.microsoft.com/en-us/library/bb387098。 aspx)並且枚舉子節點。 – Daryl 2012-02-28 04:29:11

+0

它的框架1.1所以我不能使用任何新的點網絡組件,我曾試圖加載XML在doc.LoadXML和得到一個錯誤System.Xml.XmlException:在根級別的數據是無效的。第1行,第1個位置也是xml文件激活到b大。 xml文件將包含 多次,我必須讀取上述標記之間的子節點值n存儲在數據庫中 – SeeSharp 2012-02-29 03:03:15

回答

1
I think it should get you all the child nodes from your root node 


XmlDocument doc = new XmlDocument(); 
     doc.LoadXml("nameofyourfile.xml"); 

     XmlNode root = doc.FirstChild; 

     //Display the contents of the child nodes. 
     if (root.HasChildNodes) 
     { 
      for (int i=0; i<root.ChildNodes.Count; i++) 
      { 
      if(root.ChildNodes[i].InnerText!="") 
      { 
      Console.WriteLine(root.ChildNodes[i].InnerText); 
       } 
      } 
     } 
     } 
    } 

你可以直接加載XM這樣

doc.LoadXml(<Document> 
    <SctiesSttlmTxStsAdvc> 
    <Id> 
     <Id>ACK0000000000004</Id> 
     <CreDtTm> 
       <Dt>2011-08-26</Dt> 
     </CreDtTm> 
    </Id> 
    <TxId> 
     <AcctOwnrTxId>TCP-CMF001-000000004</AcctOwnrTxId> 
    </TxId> 
    <PrcgSts> 
     <AckdAccptd> 
     <NoSpcfdRsn>NORE</NoSpcfdRsn> 
     </AckdAccptd> 
    </PrcgSts> 
    <MsgOrgtr> 
     <PrtryId> 
     <Id>068001</Id> 
     <Issr>BMSC</Issr> 
     </PrtryId> 
    </MsgOrgtr> 
    <MsgRcpt> 
     <PrtryId> 
     <Id>056001</Id> 
     <Issr>BMSC</Issr> 
     </PrtryId> 
    </MsgRcpt> 
    </SctiesSttlmTxStsAdvc> 
    <SctiesSttlmTxStsAdvc> 
    </SctiesSttlmTxStsAdvc> 
</Document>); 
+0

嗨冷告訴,謝謝你的回覆後應用上述代碼即時通訊得到一個錯誤System.Xml.XmlException:根級別的數據無效。第1行,位置1.當我做xmldoc.LoadXML(路徑) – SeeSharp 2012-02-28 06:07:23

+0

你可以在負載,但整個文件 – 2012-02-28 16:13:55

+0

hi..finally我有我的輸出我用xmltextreader和閱讀textelement通過檢查節點類型 感謝您的答覆...每一個:) – SeeSharp 2012-03-02 04:07:24