JS XML解析:值不变
JS XML Parsing: Value Not Changing
我正在用Javascript解析XML。我的XML如下所示:
<?ml version="1.0" encoding="UTF-8">
<IPC_XML>
<dfr>
<dfr>
<data>
<analog>
<channel index="0">
<label>Channel 1</label>
</channel>
<channel index="1">
<label>Channel 2</label>
</channel>
</analog>
</data>
</dfr>
</dfr>
</IPC_XML>
忽略奇怪的结构(我无法控制)。我正在运行这个JS代码:
function updateAnalogCfgValues (xmlDoc) {
var analogCfgs = xmlDoc.selectNodes ("//channel");
var cfg = analogCfgs.nextNode ();
var cnt = 1;
while (cfg !== null) {
var node = document.getElementById ("aChan"+cnt);
var tmp = document.createElement ("b");
tmp.innerText = cfg.selectSingleNode ("//label").text;
node.appendChild (tmp);
cfg = analogCfgs.nextNode (); cnt++;
}
}
当我查看调试器中的内容时,一切似乎都很好。我可以看到cfg
变量在变化,我可以看到它的第一个子元素是值也在变化的<label>
元素。问题是,当我查看HTML时,我看到的只是一遍又一遍地重复的"Channel 1"。那条文字永远不会改变。有什么想法吗?
编辑:我的selectSingleNode
通话现在有没有可能"令人耳目一新"(因为没有更好的术语)?
查看XPath教程并从同事那里获得一些帮助,就找到了答案。我需要我的搜索字符串为.//Label
。这将选择我的当前通道节点,然后查找标签节点。以前,它只是在整个文档中搜索第一个标签节点,这就是为什么事情没有改变。
相关文章:
- 谷歌电子表格的自定义xml解析功能
- 如何在jquery中将xml解析数据获取为全局变量
- iOS上ajax中的phonegap XML解析器geting错误
- 使用javascript进行xml解析
- 使用JQuery将XML解析为SQLite DB时出错:所有行都具有相同的值
- 如何检测以跨浏览器方式使用 Javascript 的 DOMParser 时的 XML 解析错误
- jQuery将xml解析为嵌套列表
- 在IE9中使用jQuery进行XML解析时缺少innerHTML,但Chrome中没有
- Appcelerator Windows Phone XML 解析错误
- 除 IE 之外的其他浏览器的 XML 解析器
- JavaScript XML解析在IE中工作,但在Firefox / Chrome中不起作用
- jquery XML 解析最后 3 个文档
- XML 解析错误:使用浏览器内置解析器解析 XML 字符串时格式不正确
- 通过 xml 解析
- XML解析器/从XML节点列表创建一个XML DOM文档
- PhoneGap 中的 XML 解析错误
- 使用 javascript 将错误从 XML 解析为 Html
- NOAA 天气数据的 Javascript XML 解析 - 从子节点提取数据时出现问题
- XML 解析与 Jquery for IE7+ 和 Mozilla
- jQuery中的基本XML解析