[英]Java XML parser?
我目前正在將我在Visual Basic .NET(2005年版)中編寫的程序轉換為Java。 它使用內置的XML方法來解析和生成用戶保存的數據,Java是否具有內置的等效功能,或者我是否必須更改文件處理實現? (我不願意,有很多代碼我不得不改變。)
是的,Java可以解析XML。 這是一個示例,它接受包含XML的String並從中構建Document
對象:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
InputSource inputSource = new InputSource(new StringReader(xml));
Document document = documentBuilder.parse(inputSource);
然后,您可以使用XPath API查詢dom。 這是關於它的教程/寫作 。
至於將對象序列化為XML,官方實現是JAXB,它是1.6的Java的一部分。 這是一個簡單的例子。 它將允許您對XML進行序列化和反序列化。
您也可以手動創建DOM對象並向其添加節點,但這有點單調乏味:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootNode = document.createElement("root");
Element childNode = document.createElement("child");
childNode.setTextContent("I am a child node");
childNode.setAttribute("attr", "value");
rootNode.appendChild(childNode);
document.appendChild(rootNode);
我假設您的意思是屬性/結構是通過類/ bean本身生成的? 如果是這樣,那么答案就是[沒有第三方組件]。 我之前使用過XStream,這是我最接近.NET的XML類序列化的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.