Analyse XML à l'aide de Java à obtenir les valeurs des éléments et des valeurs d'attribut
j'ai un fichier XML et les éléments ont aussi des attributs.
J'ai un simple fichier java qui est de l'analyse et de l'impression des valeurs des éléments dans un fichier texte, mais pas d'élément de valeurs d'attribut.
S'il vous plaît pouvez-vous aider à obtenir les valeurs d'attributs aussi à être imprimé.
Je suis coller le code ci-dessous:
--------employees.xml fichier-----------
<?xml version="1.0" encoding="UTF-8"?>
<Personnel>
<Employee type="permanent">
<Name>Seagull</Name>
<Id>3674</Id>
<Age>34</Age>
</Employee>
<Employee type="contract">
<Name>Robin</Name>
<Id>3675</Id>
<Age>25</Age>
</Employee>
<Employee type="permanent">
<Name>Crow</Name>
<Id>3676</Id>
<Age>28</Age>
</Employee>
</Personnel>
----------------------------StoreData.java-----------------------------------------
import java.io.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class StoreData{
static public void main(String[] arg) {
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter XML file name: ");
String xmlFile = bf.readLine();
File file = new File(xmlFile);
if (file.exists()){
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(xmlFile);
//Create transformer
Transformer tFormer = TransformerFactory.newInstance().newTransformer();
//Output Types (text/xml/html)
tFormer.setOutputProperty(OutputKeys.METHOD, "text");
// Write the document to a file
Source source = new DOMSource(doc);
// Create File to view your xml data as (vk.txt/vk.doc/vk.xls/vk.shtml/vk.html)
Result result = new StreamResult(new File("file.txt"));
tFormer.transform(source, result);
System.out.println("File creation successfully!");
}
else{
System.out.println("File not found!");
}
}
catch (Exception e){
System.err.println(e);
System.exit(0);
}
} }
- voir le lien stackoverflow.com/questions/9781568/...
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes à l'aide de org.le w3c.dom vous pouvez utiliser les éléments suivants:
Ce que vous utilisez est une transformation XSLT qui, par défaut, se transforme en élément de textes.
En utilisant la même technique, on a besoin d'une propre "feuille de style":
Ci-dessus, j'ai utilisé une ressource, pas un fichier système de fichiers, de sorte qu'il est emballé avec l'application.
employés.xslt:
Qui donnerait: