我有一個這樣的 XML 存盤在 JavaScript 的字串變數中:
<metadata>
<a>...</a>
<b>...</b>
<c>...</c>
</metadata>
<data>
<a>...</a>
<b>...</b>
<c>...</c>
</data>
因為一個有效的 XML 只能有一個根標簽,我的不能被稱為有效的,因為它有兩個根標簽:metadata& data。我想完全洗掉metadata標簽,因為我也沒有使用它。
我閱讀了 array.Shift() 命令,它洗掉了陣列的第一個元素。但既然我有一個 XML,我該怎么做呢?同樣,只想洗掉<metadata>標記,因此結果 XML 看起來像這樣(如下所示)。
<data>
<a>...</a>
<b>...</b>
<c>...</c>
</data>
uj5u.com熱心網友回復:
使用DOMParser
const xmlString = `
<metadata>
<a>...</a>
<b>...</b>
<c>...</c>
</metadata>
<data>
<a>...</a>
<b>...</b>
<c>...</c>
</data>`;
const parser = new DOMParser();
const doc1 = parser.parseFromString(`<root>${xmlString}</root>`, "application/xml");
doc1.querySelector('metadata').remove()
console.log(doc1.documentElement.innerHTML)
uj5u.com熱心網友回復:
由于您談論的是字串,只需搜索 '<data>' 并獲取從該位置到末尾的子字串:
let str = `
<metadata>
<a>...</a>
<b>...</b>
<c>...</c>
</metadata>
<data>
<a>...</a>
<b>...</b>
<c>...</c>
</data>
`
let data = str.substring(str.search('<data>'))
console.log(data)
或者搜索 '</metadata>' 加上兩個新行字符以找到開頭:
let data = str.substring(str.search('</metadata>\n\n') 13)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/369175.html
標籤:javascript xml
