import java.io.ByteArrayInputStream;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class modifyXML {
public static void modify(StringBuffer XMLBuffer) throws IOException, ParserConfigurationException, SAXException{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new ByteArrayInputStream(XMLBuffer.toString().getBytes()));
Element rootNode = doc.getDocumentElement();
NodeList priceList = rootNode.getElementsByTagName("price");
priceList.item(0).setTextContent("190");
NodeList inStockList = rootNode.getElementsByTagName("id_product_attribute");
inStockList.item(0).setTextContent("100");
}
}
我正在尝试修改XML文件,然后将它们全部重新组合在一起。我已经使用修改部分进行了管理,但是我无法将XML文件重新组合在一起。结果可以是String或StringBuffer。
最好/最简单的方法是什么?
答案 0 :(得分:2)
使用WhiteFang34中XML Document to String所述的Transformer
。
官方Java教程:Writing Out a DOM as an XML File(只需制作StreamResult
包装其他内容,例如StringWriter
)。
<强>更新强>
基于加载/保存对象的Less known, shorter alternative