我有一个包含解析后的XML的变量(免责声明-Javascipt级别在这里是初学者)。
function xmlDocFunction(xml) {
parser = new DOMParser();
return parser.parseFromString(xml, "text/xml");
}
xmlDoc = xmlDocFunction(UserDefinedJavascript.DocumentSetXML)
现在,我正在尝试更改其他人的代码,而无需尝试重写... 因此,随后出现了一个相当复杂的脚本,从而从HTML表单获得了字段列表。将创建两个数组“名称”,它们是XML文档中的所有列名称,而includeList是表单中所有输入字段的名称。
然后该脚本使用一个jquery $ .each并解析数组以做各种工作。
关键点在于,对于名称数组中的每个名称,textContent均取自xmldoc并放入字段中:
$('[name="' + liveNames + "]').val(cleanText(xmlDoc.getElementsByTagName(name)[0].textContent)).css({"border": "solid 2px green"
}).addClass("ImportHighlight")
我的问题是,在XML内,列名重复但在不同的父节点中:
<root>
<cp1>
<Tfield1>My test</Tfield1>
<Tfield2>another line</Tfield>
</cp1>
<cp2>
<Tfield1>second test</Tfield1>
<Tfield2>second line</Tfield>
</cp2>
<cp3>
<Tfield1>third test</Tfield1>
<Tfield2>third line</Tfield>
</cp3>
</root>
因此,如果在脚本执行getElementsByTagName(name)时使用name =“ Tfield1”,则我需要一种方法来指定它仅应在“ cp2”内搜索(节点名称较早被捕获为PlanType。
那么如何在节点内搜索名称?