2

重複の可能性:
JavaでのXMLファイルへの書き込み

以下に文字列としてXMLテキストがあります。

<someNode>
    <id>A124</id>
    <status>404</status>
    <message>No data</message>
</someNode>

上記のXMLデータを文字列として持っています。テキストをXMLファイルに変換し、生成されたXMLファイルをアーカイブすることは可能ですか?

ありがとう!

4

5 に答える 5

1
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(theString)));
于 2012-12-06T16:01:53.120 に答える
0

を使用しjava.io.FileWriterてファイルを保存できます。

String fileData = "<sample><xml>data</xml></sample>";
File outputFile = new File("someFile.xml");
BufferedWriter bw = null;
try{
    bw = new BufferedWriter(new FileWriter(outputFile));
    bw.write(fileData);
}
catch(IOException e)
{
    e.printStackTrace();
}
finally
{
    try{bw.close();}catch(Exception e){}
}

xmlを操作する必要がある場合は、KazekageGaaraが言ったようにします。

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(theString)));

そして、私が上で言ったように、あなたは救うことができます。ドキュメントを文字列に戻すには:

fileData = doc.toString();
于 2012-12-06T16:04:30.917 に答える
0
public class StringToXML {  
public static void main(String[] args) {  
    String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"></soap:Envelope>";  

     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  

    DocumentBuilder builder;  
    try  
    {  
        builder = factory.newDocumentBuilder();  

        // Use String reader  
        Document document = builder.parse( new InputSource(  
                new StringReader( xmlString ) ) );  

        TransformerFactory tranFactory = TransformerFactory.newInstance();  
        Transformer aTransformer = tranFactory.newTransformer();  
        Source src = new DOMSource( document );  
        Result dest = new StreamResult( new File( "xmlFileName.xml" ) );  
        aTransformer.transform( src, dest );  
    } catch (Exception e)  
    {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }  
}  

この情報は役に立ちます。

ありがとう、パヴァン

于 2012-12-06T16:05:57.753 に答える
0

そのように簡単です:

String text = "<your><xml>data</xml></your>";
Writer writer = new FileWriter("/tmp/filename.xml");
writer.write(text);
writer.flush();
writer.close();
于 2012-12-06T16:09:15.737 に答える
0

commons-ioの使用をお勧めします。それはあなたが必要とするすべてをする単一の方法を持っています。

コードは次のようになります

FileUtils.writeStringToFile(new File("filename.xml"), xml);
于 2012-12-06T16:19:30.743 に答える