我想在java代碼的幫助下將一個xml轉換爲另一個xml。我想給一個XML作爲輸入文件,並期待另一個XML文件作爲輸出。我們如何在java的幫助下做到這一點?有人可以給我建議嗎?用Java轉換XML文件
Input.xml中
<Order OrderNo=」1234567890」>
<OrderLines>
<OrderLine PrimeLineNo=」1」 SubLineNo=」1」/>
<OrderLine PrimeLineNo=」2」 SubLineNo=」1」/>
</OrderLines>
</Order>
的Output.xml文件我需要輸出這樣
<Order OrderName="1234567890">
<OrderLines MaxOrderNumbers=」2」>
<OrderLine LineNumber="1" SubLineNumber="1"/>
<OrderLine LineNumber ="2" SubLineNumber ="1"/>
</OrderLines>
</Order>
這個文件,但我已經嘗試下面的代碼與Java的幫助。
public class XmlToXml {
public static void main(String[] args) {
final String xmlStr ="<Order OrderNo=\"1234567890\"><OrderLines><OrderLine PrimeLineNo=\"1\" SubLineNo=\"1\"/><OrderLine PrimeLineNo=\"2\" SubLineNo=\"1\"/></OrderLines></Order>";
Document doc = convertStringToDocument(xmlStr);
String str = convertDocumentToString(doc);
System.out.println(str);
}
private static String convertDocumentToString(Document doc) {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer;
try {
transformer = tf.newTransformer();
System.out.println(transformer.getParameter("xmlStr"));
StringWriter writer = new StringWriter();
writer.append("MaxOrderNumbers");
transformer.transform(new DOMSource(doc), new StreamResult(writer));
String output = writer.getBuffer().toString();
return output;
} catch (TransformerException e) {
e.printStackTrace();
}
return null;
}
private static Document convertStringToDocument(String xmlStr) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try
{
builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(xmlStr)));
return doc;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
喜有人能幫助我寫Java代碼 – 2014-09-05 05:13:05