java从.txt文件更新.XML文件

时间:2014-11-21 22:05:36

标签: java xml

我在每次购买时都有一个“achat.txt”文件,其中一行用逗号信息分隔。

 Jean Charles, 3214324565, 321, 2
 Yvan Richard, 5435435545, 321, 1
 Yvette Gagnon, 4324324243, 1, 12 

我有一个inventaire.XML文件我的库存。

代码:

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <inventaire>
 <produit code="1" prix="432.00" quantité= "43" />
 <produit code="32" prix="32.00" quantité= "100"  />
 <produit code="321" prix="31.00" quantité= "200"  />
 </inventaire>

我必须编写一个程序,其中DOM更新库存时考虑到“achats.txt”。文件更新仅适用于“achats.txt”文件的“代码”和“数量”属性。

我设法在java程序中读取了“achats.txt”文件。

代码:

import java.io.BufferedReader;  
import java.io.FileReader;  
import java.io.IOException;  
import java.io.BufferedReader;  
import java.io.FileReader;  
import java.io.IOException; 




public class Affiche {     // On créer une classe "Affiche"
        public static void main(String[] args) throws IOException {  
            FileReader fichier = new FileReader("achats.txt");        
            BufferedReader br = new BufferedReader(fichier);   
            String ligne = null;  
            while ((ligne = br.readLine()) != null) {            
String str[] =ligne.split(",");  
System.out.println (str[2] =","+str[3]);                          


 }
 fichier.close()
 }
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder parser = factory.newDocumentBuilder();
Document doc = parser.parse("inventaire.xml");
Element racine = doc.getDocumentElement();
NodeList nl = racine.getElementsByTagName("produit");        
for (int i = 0; i < nl.getLength(); ++i) {              
 Element produit = (Element) nl.item(i);        
 }

我不知道如何创建一个包含变量achats.txt文件的字符串数组。我不知道如何获取“代码”和“数量”属性然后减去inventaire.xml文件。 谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

一个arraylist会很棒。我认为@Bruno可能会尝试测试一下java的容器。

答案 1 :(得分:0)

嗯,你可以为Guava中的目标采取措辞。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/Files.html#readLines(java.io.File,%20java.nio.charset.Charset)

是一种方法,你可以调用它,传递一个文件,然后接收一个字符串列表,每行一个。