gpt4 book ai didi

javascript - 如何使用 jquery 提取 XML 文档的一部分进行转换 (xslt)?

转载 作者:行者123 更新时间:2023-11-30 09:03:46 27 4
gpt4 key购买 nike

我想知道如何使用 jquery 将 XML 文档的一部分提取到将通过 XSLT 转换的对象中?所以,假设我有这个示例 XML 文档:

<nutrition>

<daily-values>
<total-fat units="g">65</total-fat>
<saturated-fat units="g">20</saturated-fat>
<cholesterol units="mg">300</cholesterol>
<sodium units="mg">2400</sodium>
<carb units="g">300</carb>
<fiber units="g">25</fiber>
<protein units="g">50</protein>
</daily-values>

<food>
<name>Avocado Dip</name>
<mfr>Sunnydale</mfr>
<serving units="g">29</serving>
<calories total="110" fat="100"/>
<total-fat>11</total-fat>
<saturated-fat>3</saturated-fat>
<cholesterol>5</cholesterol>
<sodium>210</sodium>
<carb>2</carb>
<fiber>0</fiber>
<protein>1</protein>
<vitamins>
<a>0</a>
<c>0</c>
</vitamins>
<minerals>
<ca>0</ca>
<fe>0</fe>
</minerals>
</food>

<food>
<name>Bagels, New York Style </name>
<mfr>Thompson</mfr>
<serving units="g">104</serving>
<calories total="300" fat="35"/>
<total-fat>4</total-fat>
<saturated-fat>1</saturated-fat>
<cholesterol>0</cholesterol>
<sodium>510</sodium>
<carb>54</carb>
<fiber>3</fiber>
<protein>11</protein>
<vitamins>
<a>0</a>
<c>0</c>
</vitamins>
<minerals>
<ca>8</ca>
<fe>20</fe>
</minerals>
</food>
</nutrition>

假设我只想要第一个 ... block ,我希望将其保存为对象或字符串。如何使用 jquery 完成此操作?一旦我提取了 XML block ,我就可以正确地结合 XSL 文档进行转换 (XSLT)。非常感谢您的帮助!

更新;澄清:

如果我的问题不清楚,我深表歉意。请允许我澄清我的立场。

我很清楚可以使用浏览器的DOM 来操作XML,以及IE 和非IE 实现之间的差异。我可以在 XML 对象上使用 cloneNode 和 selectNodes 等方法。事实上,我就是这样做的。现在,如果我将 jQuery 纳入等式,我想用 jQuery 处理它的方式替换所有这些代码行。也就是说,也许有一个 jQuery 插件可以消除直接与每个浏览器的 XML DOM 交互的需要,“在幕后”处理交叉兼容性。我正在寻找一个 js 框架,它将为我处理所有事情,而不是我现在如何处理它,这是 IE 和非 IE 浏览器的单独实现。

我希望这能澄清我的问题。

非常感谢您的帮助。

最佳答案

使用 jQuery.parseXML(xmlString) 可以将 XML 字符串转换为 jQuery 对象,然后用它做任何你想做的事情。

如果是XML文件,可以通过AJAX获取

$.ajax({
type: "GET",
url: "file.xml",
dataType: "xml",
error: function(){},
success: function (xml) {// you can access the parsed XML just like you do it with HTML }
});

关于javascript - 如何使用 jquery 提取 XML 文档的一部分进行转换 (xslt)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6907130/

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