1
我建立一個DOM文檔使用此代碼:文件似乎爲空,但我可以得到的第一個元素
private org.w3c.dom.Document createXml(WorkObject workObject, String hierarchy, String dateFormat) {
XMLBuilder2 builder = XMLBuilder2.create(hierarchy);
Map<String, Object> localVariables = workObject.getLocalVariablesMap();
builder = createXmlFromMap(localVariables, builder, dateFormat);
Properties outputProperties = new Properties();
outputProperties.put(javax.xml.transform.OutputKeys.OMIT_XML_DECLARATION, "no");
String xmlString = builder.asString(outputProperties);
LOG.debug("XML string: " + xmlString);
org.w3c.dom.Document xmlDoc = builder.getDocument();
LOG.debug("DOM root element: " + xmlDoc.getDocumentElement().getTagName());
return xmlDoc;
}
的builder.asString()
調用返回預期的XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<myVar>a value</myVar>
<docId>GEAR-b3384419-36f8-48fc-b194-c937e7afc0dd</docId>
</root>
的輸出如預期的那樣,最後的LOG語句是root
。
但是,當我使用此代碼,將xmlDoc
似乎是一個很奇怪......
傳遞xmlDoc
此構造函數時:
private org.w3c.dom.Document mXmlDoc;
public XmlMailMergeDataSet(org.w3c.dom.Document xmlDoc) {
mXmlDoc = xmlDoc;
}
在IDEA調試時,的xmlDoc
價值和mXmlDoc
然後是[#document: null]
不幸的是,我不能進一步調試,看看會發生什麼,然後XmlMailMergeDataSet然後傳遞給代碼不是開源的。
我在這裏錯過了一些明顯的東西嗎?
感謝您的澄清。這在一個方面是很好的:我的代碼似乎可以,但在另一個方面不好:我的問題似乎在我無法調試的代碼部分。 – user1145874