0
我在Unity中用c#讀取XML文檔時遇到了很大的麻煩。 我試圖讀取XML具有這樣的結構:在C#中讀取一個複雜的XML文件(Unity3d)
<Classes A>
<Class A></Class A>
<Class A></Class A>
<Class A></Class A>
<Class A>
<Detail X>
<Detail Y>
</Class A>
<Class A>
(...)
有時候,一個類有孩子;有時,A類是另一個A類的孩子等
我一直在嘗試和研究2天,但我無法理解如何閱讀此使用System.XML或System.XML.Linq
我能夠使用XDocument.Read()讀取所有的元素及其屬性,但是我無法獲得任何有關它們是由另一個類繼承的信息,還是有孩子本身。 我怎麼能讀一個元素,然後把它檢查是否有孩子,如果
一)有孩子,繼續讀孩子
或
二)有沒有孩子,繼續閱讀下一個元素。
據我所知,XNode可能包含我想要的信息。我也可以讀取所有的XNode。但我無法將任何XNode投射到XElement,反之亦然。沒有一個功能像我所期望的那樣行事。
像這樣的嵌套的XML,你應該使用遞歸算法,讀它。不要太多時間了。通過遞歸,我喜歡創建一個類對象來包含每個節點。代碼非常簡單,只需不到10分鐘即可完成創建。 – jdweng
我目前正在研究什麼是遞歸算法。不過,我認爲你的答案仍然不夠準確,我不明白。如果我擁有所有的節點(我知道如何獲得XNode),那麼我會如何處理它們?就我的研究而言,無法獲得XNode中包含的元素的名稱。沒有這個功能。 – lauch
發佈一個有效的XML,我會幫助。確保沒有錯誤。使用VS檢查xml。從菜單:項目:添加新項目:XML。將xml粘貼到視圖中。就像任何編譯器錯誤一樣,錯誤將出現在錯誤列表中。 – jdweng