gpt4 book ai didi

javascript - XML/javascript 解析节点 - 按名称指定子节点

转载 作者:行者123 更新时间:2023-12-03 11:02:50 26 4
gpt4 key购买 nike

对于包含销售订单和详细信息以及 SKU 和数量的 XML 字符串...

var myOrders = 
"<?xml version='1.0' encoding='UTF-8'?>" +
"<Orders>" +
"<Order>" +
"<OrderHeader>" +
"<OrderNo>12345</OrderNo>" +
"</OrderHeader>" +
"<OrderDetails>" +
"<Sku>ABC</Sku>" +
"<Qty>2</Qty>" +
"<Sku>DEF</Sku>" +
"<Qty>3</Qty>" +
"</OrderDetails>" +
"</Order>"....
"</Orders>";

我可以像这样在 Mozill 中使用 javascript 进行解析..

parser=new DOMParser();
xmlDoc=parser.parseFromString(myOrders,"text/xml");
myValue = xmlDoc.getElementsByTagName("Order");

// list all all SKUs ordered
for(i = 0; i < myValue.length; i++){
console.log(myValue);
var order = myValue[i].firstChild.firstChild.firstChild.nodeValue;
document.write(order + "<br>");
}

我可以替换这一行吗:

    var order = myValue[i].firstChild.firstChild.firstChild.nodeValue;

有更具体的内容

类似...

  var order = myValue[i]['Order']['OrderDetail']['Sku'].nodeValue;

最佳答案

您可以尝试querySelector :

myValue[i].querySelector('OrderHeader > OrderNo').textContent

另请考虑querySelectorAll :

var elements = xmlDoc.querySelectorAll("Order > OrderHeader > OrderNo");
for(var i = 0; i < elements.length; i++){
var order = elements[i].textContent;
}

关于javascript - XML/javascript 解析节点 - 按名称指定子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28003923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com