久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

DOM Parser 錯誤 childNodes Count

DOM Parser wrong childNodes Count(DOM Parser 錯誤 childNodes Count)
本文介紹了DOM Parser 錯誤 childNodes Count的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

這很奇怪,但讓我盡力解決.

This is strange but let me try my best to put it accross.

我有一個 XML,我通過正常方式從桌面讀取并通過 DOM 解析器對其進行解析.

I have a XML which i am reading through the normal way from desktop and parsing it through DOM parser.

<?xml version="1.0" encoding="UTF-8"?>
<Abase
    xmlns="www.abc.com/Events/Abase.xsd">
    <FVer>0</FVer>
    <DV>abc App</DV>
    <DP>abc Wallet</DP>
    <Dversion>11</Dversion>
    <sigID>Ss22</sigID>
    <activity>Adding New cake</activity>
</Abase>

讀取 XML 以獲取子項.

Reading the XML to get the childs.

Document doc = docBuilder.parse("C://Users//Desktop//abc.xml");
Node root = doc.getElementsByTagName("Abase").item(0);
NodeList listOfNodes = root.getChildNodes();            //Sysout Prints 13

所以在這里我的邏輯運行良好.當我試圖通過將相同的 XML 推送到隊列并讀取它并獲取子節點時它給我沒有.子節點數為 6.

So here my logic works well.When am trying to do by pushing the same XML to a queue and read it and get the child nodes it gives me no. of child nodes is 6.

Document doc=docBuilder.parse(new InputSource(new ByteArrayInputStream(msg.getBytes("UTF-8"))));
Node root = doc.getElementsByTagName("Abase").item(0);
NodeList listOfNodes = root.getChildNodes();            //Sysout Prints 6

這搞砸了我解析 XML 的邏輯.誰能幫幫我?

this screws my logic of parsing the XML.Can anyone help me out?

更新

添加發送邏輯:

javax.jms.TextMessage tmsg = session.createTextMessage();
tmsg.setText(inp);
sender.send(tmsg);

問題如果我從桌面讀取此 xml,它會顯示 13 個子節點、6 個元素節點和 7 個文本節點.通用邏輯是:

PROBLEM If i read this xml from desktop it says 13 childs, 6 element node and 7 text nodes.The Common Logic is :

  • 讀取所有子項并遍歷子項列表.
  • 如果節點ISNOT文本節點進入if塊,添加一個帶有兩個孩子的父元素并附加到現有ROOT.然后獲取NodeName并獲取元素節點之間的TextContext并將它們分別推送為兩個孩子的setTextContext.
  • 所以我現在有一個新的元素節點,它有兩個子節點.由于我現在不需要已經存在的元素節點,它們仍然是 root 的子節點,所以最后要刪除它們.

因此,如果我將 XML 推送到隊列并對其進行分區以執行相同的邏輯,則上述邏輯全都搞砸了.

So the above logic is all screwed if i am pushing the XML to queue and areading it for doing the same logic.

OUTPUT XML,當我從桌面讀取時會很好,但是從隊列讀取有問題,因為它會破壞完整的樹.

OUTPUT XML which is coming good when i read from desktop,but reading from queue is having problem, because it screw the complete tree.

<Abase
    xmlns="www.abc.com/Events/Abase.xsd">
<Prop>
<propName>FVer</propName>
<propName>0</propName> //similarly for other nodes
</Prop>
</Abase>

謝謝

推薦答案

好吧,如果包含空白文本節點,則有 13 個子節點,但如果刪除空白文本節點,則只有 6 個子節點.因此,這兩種情況下樹的構建方式存在一些差異,這會影響是否保留空白文本節點.

Well, there are 13 children if whitespace text nodes are included, but only 6 if whitespace text nodes are dropped. So there's some difference in the way the tree has been built between the two cases, that affects whether whitespace text nodes are retained or not.

這篇關于DOM Parser 錯誤 childNodes Count的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to wrap text around components in a JTextPane?(如何在 JTextPane 中的組件周圍環繞文本?)
MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何獲取插入的自動生成密鑰?[MySql])
Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java: How to insert CLOB into oracle database(Java:如何將 CLOB 插入 oracle 數據庫)
Why does Spring-data-jdbc not save my Car object?(為什么 Spring-data-jdbc 不保存我的 Car 對象?)
Use threading to process file chunk by chunk(使用線程逐塊處理文件)
主站蜘蛛池模板: 久久久久久久一区 | 国产欧美精品一区二区 | 免费在线观看成年人视频 | 本道综合精品 | 免费看片在线播放 | 欧美激情视频一区二区三区在线播放 | 日韩综合 | 久久国产精品视频 | 国内精品久久久久久影视8 最新黄色在线观看 | 成人在线一区二区三区 | 欧美日韩黄色一级片 | 久久久噜噜噜www成人网 | 亚洲第一福利网 | 日韩中文字幕视频在线观看 | 成人精品在线观看 | 精品一区二区三区91 | 久久精品国产一区 | 亚洲入口 | 亚洲精品一区二区三区在线 | 国产成人免费视频网站视频社区 | 午夜免费网站 | 久久国产精品一区二区 | 不卡在线一区 | 色久五月| 欧美成人精品激情在线观看 | 亚洲欧美在线一区 | 欧洲精品在线观看 | 亚洲精品99 | 欧美激情一区二区三区 | 久久噜噜噜精品国产亚洲综合 | 在线观看中文字幕 | 日韩视频一区二区在线 | 国产精品久久久久久久久久久久久 | 日韩中文字幕一区二区 | 夜夜操天天干 | 国产精品免费一区二区 | 久久综合欧美 | 国产精品久久久乱弄 | 成人av免费播放 | 男人av的天堂| 欧美久久久 |