[英]Creating xml from with java
我再次需要您的專業知識。 我有一個Java類,它在目錄中搜索xml文件(顯示它在eclipse控制台窗口中找到的文件),將指定的xslt應用於這些文件並將輸出發送到目錄。
我現在想做的是創建一個包含文件名和文件格式類型的xml。 格式應類似於:
<file>
<fileName> </fileName>
<fileType> </fileType>
</file>
<file>
<fileName> </fileName>
<fileType> </fileType>
</file>
它在目錄中為每個文件找到的位置都會創建一個新的<file>
。
任何幫助是由衷的感謝。
使用XML庫。 周圍有很多東西,而第三方的幾乎比Java中內置的DOM API都更易於使用。 上次使用它時, JDom很好。 (我最近不必做太多的XML工作。)
就像是:
Element rootElement = new Element("root"); // You didn't show what this should be
Document document = new Document(rootElement);
for (Whatever file : files)
{
Element fileElement = new Element("file");
fileElement.addContent(new Element("fileName").addContent(file.getName());
fileElement.addContent(new Element("fileType").addContent(file.getType());
}
String xml = XMLOutputter.outputString(document);
看看DOM和ECS。 以下示例從此處適應您的要求:
XMLDocument document = new XMLDocument();
for (File f : files) {
document.addElement( new XML("file")
.addXMLAttribute("fileName", file.getName())
.addXMLAttribute("fileType", file.getType())
)
);
}
您可以使用Vinze建議的StringBuilder方法,但需要注意的是,您需要確保文件名不包含特殊的XML字符,如果確實包含特殊的XML字符,請對其進行轉義(例如,將<替換為&lt ;,並適當地處理引號) 。
在這種情況下,它可能不會出現,如果沒有它,您將逃脫,但是,如果您曾經移植此代碼以在另一種情況下重用,則可能會為此感到痛苦。 因此,您可能想看一下XMLWriter類,它將為您完成所有轉義工作。
好吧,只需使用StringBuilder:
StringBuilder builder = new StringBuilder();
for(File f : files) {
builder.append("<file>\n\t<fileName>").append(f.getName).append("</fileName>\n)";
[...]
}
System.out.println(builder.toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.