我想知道如何从XML文件中获取数据到我的Java代码。为此,我将创建我的XML文件,然后将编写一个Java代码。然后我会尝试从XML获取数据到Java。为此,一些映射必须在我的java代码中完成,否则我必须使用一些java API。请帮助你的知识或为我提供一些学习链接!如何从XML获取数据到Java
-5
A
回答
3
0
您还可以使用Spring的Jaxb2Marshaller
。首先,你需要在你指定的类Spring上下文被绑定为编组,并在XML定义的模式来创建Jaxb2Marshaller
豆:
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.example.Employee</value>
<value>com.example.Department</value>
</list>
</property>
<property name="schemas">
<list>
<value>classpath:schemas/schema.xsd</value>
</list>
</property>
</bean>
在你的代码,获取字符串XML和使用编组来解组对象。例如:
@Autowire
private Jaxb2Marshaller marshaller;
...
final Employee employee = (Employee) marshaller.unmarshal(new StreamSource(new StringReader(xmlString)));
0
您可以使用DOM XML分析器(JAXP)。下面的例子是从mkyong
<company>
<staff id="1001">
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>mkyong</nickname>
<salary>100000</salary>
</staff>
<staff id="2001">
<firstname>low</firstname>
<lastname>yin fong</lastname>
<nickname>fong fong</nickname>
<salary>200000</salary>
</staff>
</company>
Java代码采取:
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.io.File;
public class ReadXMLFile {
public static void main(String argv[]) {
try {
File fXmlFile = new File("/Users/mkyong/staff.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
//optional, but recommended
//read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("staff");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Staff id : " + eElement.getAttribute("id"));
System.out.println("First Name : " + eElement.getElementsByTagName("firstname").item(0).getTextContent());
System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());
System.out.println("Nick Name : " + eElement.getElementsByTagName("nickname").item(0).getTextContent());
System.out.println("Salary : " + eElement.getElementsByTagName("salary").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关问题
- 1. 如何从数据库中获取数据到Java的XML
- 2. 从xml获取数据到java
- 3. 如何从.xml文件获取数据
- 4. 从XML文档获取数据到DataListView
- 5. 从网站获取数据到XML并解析XML数据
- 6. 从URL获取Xml数据
- 7. 获取Java中从大的XML文件Specfic XML数据
- 8. 从Java获取数据到JSP
- 9. 如何从XML中获取数据并更新数据库表
- 10. 如何从Oracle数据库获取NCLOB XML数据
- 11. 如何从android xml文件中获取孩子xml数据?
- 12. 如何解析XML并从XML字符串中获取数据?
- 13. 如何从mysql获取数据到jList?
- 14. 如何从iframe获取数据到android?
- 15. 如何从file.txt获取数据到NSMutableArray
- 16. 如何从asp.net获取数据到android?
- 17. 如何从JSP获取数据到js
- 18. 如何获取数据从MySQL到Android
- 19. 如何从servlet获取数据到EXTJS
- 20. java:如何从数据库中获取值到jTable中
- 21. 从线程中获取数据从XML?
- 22. 从xml提取数据到数据框
- 23. Java/Android从xml获取数组
- 24. 如何从XML获取值到int
- 25. 如何在列数据本身在xml中时从DataSet获取Xml数据?
- 26. 如何从XML文件使用LINQ到XML读取数据?
- 27. 如何从java更新XML数据
- 28. 获取XML数据
- 29. 获取XML数据
- 30. 如何从java数据库获取图像与数据库
什么阻止你使用某种类型的数据库用于这一目的?您可以使用例如Derby嵌入式数据库。 –