??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片段與一個分析器內容聯合應用,分析器內容由類似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)的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!