我正在尝试使用 JavaScript 准备一个 XML,它应该如下所示。
<Service>
<NewInstance ref="External_UCSD_Serverinfo">
<Std>DiscoveredElement</Std>
<Virtual/>
<Key>Key001</Key>
<Attributes>
<Attribute name="hpom_citype" value="External_UCSD_Serverinfo"/>
</Attributes>
</NewInstance>
</Service>
我准备了以下代码。
var doc = builder.newDocument();
var rootElement = doc.createElement("Service");
var NewInstance_node = doc.createElement("NewInstance");
var attr = doc.createAttribute("ref");
attr.setValue("External_UCSD_Serverinfo");
NewInstance_node.setAttributeNode(attr);
rootElement.appendChild(NewInstance_node);
var Std_node = doc.createElement("Std");
Std_node.appendChild(doc.createTextNode("DiscoveredElement"));
rootElement.appendChild(Std_node);
var Std_Virtual = doc.createElement("Virtual");
rootElement.appendChild(Std_Virtual);
var Key_node = doc.createElement("Key");
Key_node.appendChild(doc.createTextNode("Key001"));
rootElement.appendChild(Key_node);
var CIAttributes_node = doc.createElement("Attributes");
var CIAttribute_node1 = doc.createElement("Attribute");
var attr_name1 = doc.createAttribute("name");
attr_name1.setValue("hpom_citype");
var attr_val1 = doc.createAttribute("value");
attr_val1.setValue("External_UCSD_Serverinfo");
CIAttribute_node1.setAttributeNode(attr_name1);
CIAttribute_node1.setAttributeNode(attr_val1);
rootElement.appendChild(CIAttributes_node);
CIAttributes_node.appendChild(CIAttribute_node1);
doc.appendChild(rootElement);
var tf = javax.xml.transform.TransformerFactory.newInstance();
var t = tf.newTransformer();
t.setOutputProperty("omit-xml-declaration", "yes");
var sw = new StringWriter();
t.transform(new javax.xml.transform.dom.DOMSource(doc), new javax.xml.transform.stream.StreamResult(sw));
所以我得到了我正在寻找的东西,除了“NewInstance”的结束标签。有人能告诉我我错过了什么吗?还有使用 JavaScript 编写 XML 内容的简单方法吗?
阿波罗的战车
相关分类