[英]Get text nodes separately (in the correct order) with fast-xml-parser?
無論我嘗試什么選項,我似乎都將所有文本節點聚集在一起,沒有任何關於內部 XML 節點插入位置的信息。 用一個簡單的例子更容易解釋:
<a>left <b>middle</b> right</a>
我希望這會給我這樣的東西:
{
tag: 'a',
children: [
'left ',
{ tag: 'b', children: ['middle'] },
' right',
]
}
確切的格式無關緊要,但middle
在left
和right
之間。 子元素的順序對我來說很重要。 使用fast-xml-parser
,我得到的是以下內容:
{
"a": {
"#text": "left right",
"b": "middle",
}
}
我不介意不同的格式,但是我丟失了關於<b>middle</b>
節點的 position 的信息。 從 XML 文件的 JavaScript 樹版本中,無法區分這些文件,因為它們都解析為相同的結構。
<a>left right<b>middle</b></a>
<a><b>middle</b>left right</a>
<a>left <b>middle</b> right</a>
<a>le<b>middle</b>ft right</a>
是否有一個選項可以讓我保留文本節點的順序?
不幸的是,答案似乎是這個選項在fast-xml-parser
中根本不可用,根據我發現的這個問題: https://github.com/NaturalIntelligence/fast-xml-parser/issues/175 。 文本節點將合並為一個,團隊成員解釋說這“不是錯誤,而是預期的行為”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.