我在js文件中使用XMLHTTPRequest加载XML文档。 XML文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RMFSFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Host>www.example.com</Host>
<Port>8888</Port>
<Uri>www.example.com</Uri>
<Path>
<HD>
<UNC>path1</UNC>
</HD>
<SD>
<UNC>path2</UNC>
</SD>
</Path>
我现在尝试首先选择Path1和Path2节点,然后切换 path1 的值,其值为 path2 。 我选择如下节点:
var firstNode = xmlFile.querySelector('Path>HD>UNC'); \\ I can get the node successfully.
var secondNode= xml.querySelector('Path>SD>UNC'); \\ I can get the node successfully.
但是,当我尝试使用以下代码替换值时:
xmlFile.replaceChild(secondNode,firstNode) // secondNode, is the new value for first node.
我收到一个错误,&#34;尝试在不存在的情况下引用节点&#34;。 我做错了什么想法?
答案 0 :(得分:0)
replaceChild
确实意味着取代孩子而不是曾孙。
您需要将xmlFile
替换为要替换的元素的父节点。
答案 1 :(得分:0)
而不是交换节点,只需交换它们的内容,如下所示:
var firstValue =xmlFile.querySelector('Path>HD>UNC').textContent;
var secondValue= xmlFile.querySelector('Path>HD>UNC').textContent;
firstValue.textContent = secondValue;
secondValue.textContent = firstValue ;