簡體   English   中英

使用Java創建xml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM