??String和Fragment
??程式員把在MSXML的程式剪下下來,會發明在COM和.NET Framework XML API 之間的差別很大。.NET Framework類本身沒有供給方法往分析儲存在字串中XML資料。不像MSXML分析器對象,XmlTestReader類沒有供給任何一種LoadXML方法從一個格局良好的字元中創立瀏覽器。沒有供給類似LoadXML的方法由於你可以用特別的text reader---StringReader類來獲得同樣的功效。
??XmlTextReader其中一個結構函數接收一個TextReader派生對象和一個XML reader作參數(該瀏覽器以text reader的內容為基礎創立)。一個text reader類是一個流,這個流是輸進的字元經最佳化天生的。StringReader類持續TextReader類,並用一個記憶體中字串作為其輸進流。下面的程式碼片段示範了怎樣初始化一個XML reader,用一個格局良好的XML 字串作為其輸進:
??string xmlText = '...';
??StringReader strReader = new StringReader(xmlText);
??XmlTextReader reader = new XmlTextReader(strReader);
??另外,用StringWriter類代替TextWrite類,你可以從記憶體字元中創立一個XML文檔。
??一個指定類型的XML字串是一個XML片段(fragment). XML片段由XML文本構成,但沒有根節點的XML文檔不是格局良好的XML文檔,所以不能被利用。一個XML片段是原始的文檔的一部分,所以它可能缺乏根節點。例如,下面的XML文本是一個有效XML 片段,但不是一個有效XML文檔,由於它沒有根節點:
??Dino
??Esposito
??.NET Framework XML API答應程式員把XML片段與一個分析器內容聯合應用,分析器內容由類似encoding字元集,DTD文檔,命名空間,語言和空格處理常式構成:
??public XmlTextReader(
??string xmlFragment,
??XmlNodeType fragType,
??XmlParserContext context
??);
??xmlFragment參數包含了XML字串分析。FragType參數表現fragment的類型,它給出了fragment根節點的類型。只有element,attibute和document類型的節點才幹作為fragment的根節點,分析器的內容才幹被XmlParserContext類說明。
轉載請註明來源:在.NET Framework中輕鬆處理XML資料(2-2)
以上就是在.NET Framework中輕鬆處理XML資料(2-2)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!