在我已經存儲的複雜XML中,就像String一樣,我必須進行一些text/xml處理。目標是找到節點的起始索引節點。除了節點(節點/元素類參考)我也有關於嵌套信息:整數的數組說,在哪個孩子應該介入。例如。數組:XML文本處理
2 1 0
而定樹
root
|--root-child0
|--root-child1
|--root-child2
|--root-child2-child0
|--root-child2-child1
|--root-child2-child1-child0
我尋找根的child2-child1-child0
是否有任何乾淨可能性找到這樣的項目。只是字符串查找(String.indexOf())是不夠的 - 在我的XML文件中有許多相同的標籤。除此之外,還存在一個額外的困難 - 在一些父母和子女之間可以存在一個額外的標籤(收藏)。 (如根的child2唯一的孩子可能是收集和根的child2-child0和根的child2-child1此收藏的兒童)
--edit
如果這能幫助 - 除了上面提到的嵌套信息之外,我還可以獲得與正在搜索的節點的路徑上的節點相對應的節點名稱。
--edit 2
有了這樣的xml文件
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
</book>
</catalog>
假設我Node對象引用以價格標籤有值5.95。 Additionaly我對嵌套信息:
1 3
說,這是第二次(從0記數)的書的目錄和標籤來回在這本書(ID =「bk102」)。
我要的是爲什麼我不能用這個簡單的方法來得到類似
xmlRawBody.indexOf("<price>5.95</price>").
?因爲有可能相同的標籤會出現在其他地方。我必須使用提到的附加嵌套信息。
只是想知道你爲什麼想知道一個給定節點的xml文件的字符的數據流中的位置? – gigadot
在編輯 –
選擇它據我知道,因爲當你想操作DOM對象不需要他們,有關位置的信息的XML解析後丟失。大多數XML編輯器使用較低級別的解析器來處理這個問題,例如,帶有XML語法的ANTLR。 – gigadot