xmlns属性をルートノードに追加するだけですが、ルート要素に名前空間を追加すると、後続のすべての子要素も同じxmlns属性を取得します。 xmlns属性を1つのノードに追加するにはどうすればよいのですか? コード:Dom4j xmlns属性
public String toXml() {
Document document = DocumentHelper.createDocument();
Element documentRoot = document.addElement("ResponseMessage");
documentRoot.addNamespace("",getXmlNamespace())
.addAttribute("xmlns:xsi", getXmlNamespaceSchemaInstance())
.addAttribute("xsi:schemaLocation", getXmlSchemaLocation())
.addAttribute("id", super.getId());
Element header = documentRoot.addElement("Header");
buildHeader(header);
Element body = documentRoot.addElement("Body");
buildProperties(body);
body.addElement("StatusMessage").addText(this.getStatusMessage().getMessage());
return document.asXML();
}
意味が明確ではありません。 XMLにシリアライズされると、すべての子要素に対してこの名前空間宣言が表示されますか?どのように名前空間属性を追加しますか?表示するコードと結果がありますか? –
はいxmlにシリアル化されると、ルート要素のすべての子要素に空(xmlns = "")が表示されます。 – Phoenix