我有一個要求,我有一個輸入XML和一個XSD。我需要從輸入xml格式轉換爲另一種基於XSD的xml格式。請幫助我,我該如何做到這一點。我是新的XML轉換。XML到XML轉換
0
A
回答
1
對於XML到XML的轉換,您可以使用XSLT。見樣本here。如果您使用的是Java,使用javax.xml.validation.Schema爲XSD驗證
// parse an XML document into a DOM tree
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File("instance.xml"));
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(new File("mySchema.xsd"));
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an instance document
Validator validator = schema.newValidator();
// validate the DOM tree
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}
樣品here。
對於改造,使用的TransformerFactory如果你使用XSLT或者你可以通過Marshaller class
0
使用XSLT從XML轉換通過JAXB到POJO和馬歇爾一樣,以XML也是一個代碼..你需要定義你想要輸出的樣子..
它很棒,你有預定義的XSD,所以你知道在轉換後應該是什麼樣的結果XML。所以設計XSL代碼相應..
和XSD不會改變飄飛。(對於任何實際系統)..
相關問題
- 1. XSLT轉換(XML到XML)
- 2. XML到XHTML轉換
- 3. 轉換XML到PSObject
- 4. XML轉換到MySQL
- 5. XML到XSLT轉換
- 6. Excel到XML轉換
- 7. Word到XML轉換
- 8. 轉換XML到HTML
- 9. 轉換XML到X12和X12到XML
- 10. EDI XML到XML的轉換使用XSLT
- 11. 使XSLT爲XML到XML轉換簡單
- 12. 使用XSL轉換XML到XML
- 13. XML到XML使用Xslt轉換
- 14. 轉換SQL到LINQ到XML
- 15. XML轉換到JSON錯誤
- 16. XML到XAML的轉換
- 17. XML到CSV轉換Java
- 18. 轉換hexacode在HTML到XML
- 19. 轉換大的xml到csv
- 20. XML到HTML標記轉換
- 21. CSV到XML的轉換Java
- 22. XML到C#不能轉換
- 23. 簡化xml到json轉換
- 24. 轉換嵌套XML到JSON
- 25. 轉換XML到安口DSL
- 26. XML到HTML XSL轉換樹
- 27. 轉換和HL7段到XML
- 28. 字符串到Xml轉換
- 29. 轉換XML節點到MovieClip
- 30. XML到CSV轉換問題
什麼技術堆棧您使用的? – 2012-01-18 08:15:12
這是一個過於籠統,沒有明確定義的問題。只是一個輸入和輸出模式沒有定義一個單一的轉換 - 從第一個到第二個轉換可能會有無限數量的轉換。缺少的是轉換的語義 - 要遵守/實施的規則/要求是什麼。例如'Person/Name'可以進入'Seller/Name'或者'Buyer/Name'。在這兩種情況下,我們都會得到想要的格式,但意義上的差異至關重要。 – 2012-01-18 14:09:03
您需要了解XSLT。不要指望人們爲你寫一個XSLT教程來回答你的問題。已經有相當一部分人了。根據我的經驗,學習一門新語言的最好方法是先找到一本好書,然後從封面閱讀。 XSLT的一個優點是,您可以在任何使用的技術堆棧上使用它。但是,您需要儘早決定是使用XSLT 1.0還是2.0 --XSLT 2.0功能強大得多,但卻沒有廣泛使用。 – 2012-01-18 09:47:10