use*_*509 2 java xml xml-namespaces
我需要创建一个具有以下结构的XML文档:
<?xml version="1.0" ?>
<Cancelacion xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
RfcEmisor="VSI850514HX4"
Fecha="2011-11-23T17:25:06"
xmlns="http://cancelacfd.sat.gob.mx">
<Folios>
<UUID>BD6CA3B1-E565-4985-88A9-694A6DD48448</UUID>
</Folios>
</Cancelacion>
Run Code Online (Sandbox Code Playgroud)
结构必须是这样的.但我不太熟悉XML Elements的名称空间声明.我可以使用以下结构正确生成XML:
<?xml version="1.0" ?>
<Cancelacion RfcEmisor="VSI850514HX4"
Fecha="2011-11-23T17:25:06"
xmlns="http://cancelacfd.sat.gob.mx">
<Folios>
<UUID>BD6CA3B1-E565-4985-88A9-694A6DD48448</UUID>
</Folios>
</Cancelacion>
Run Code Online (Sandbox Code Playgroud)
但问题是我不能正确地包括xmls:xsd和xmlns:xsi.正确生成前面提到的代码的代码是:
// Crear un document XML vacío
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
dbfac.setNamespaceAware(true);
DocumentBuilder docBuilder;
docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.newDocument();
doc.setXmlVersion("1.0");
doc.setXmlStandalone(true);
Element cancelacion = doc.createElementNS("http://cancelacfd.sat.gob.mx","Cancelacion");
cancelacion.setAttribute("RfcEmisor", rfc);
cancelacion.setAttribute("Fecha", fecha);
doc.appendChild(cancelacion);
Element folios = doc.createElementNS("http://cancelacfd.sat.gob.mx", "Folios");
cancelacion.appendChild(folios);
for (int i=0; i<uuid.length; i++) {
Element u = doc.createElementNS("http://cancelacfd.sat.gob.mx","UUID");
u.setTextContent(uuid[i]);
folios.appendChild(u);
}
Run Code Online (Sandbox Code Playgroud)
您可以通过在根元素上调用setAttributeNS方法来添加其他命名空间,如下例所示
// get the root element
Element rootElement = xmlDoc.getDocumentElement();
// add additional namespace to the root element
rootElement.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用下面的方法将元素添加到给定的命名空间
// append author element to the document element
Element author = xmlDoc.createElement("xsd:element");
Run Code Online (Sandbox Code Playgroud)
阅读本文了解更多详情.
| 归档时间: |
|
| 查看次数: |
4924 次 |
| 最近记录: |