xml 操作

////////////////////////////////////////////////////////////////////////////

要操作的xml文件

<?xml version="1.0" encoding="GB2312" standalone="no"?><PhoneInfo>
    <Brand name="华为">
        <Type name="U8650"/><Type name="HW123"/>
        <Type name="HW321"/>
    </Brand>
    <Brand name="苹果">
    <Type name="iPhone4"/>
    </Brand>
    <Brand name="vivo">
        <Type name="nb"/>
    </Brand>
</PhoneInfo>

//////////////////////////////////////////////////////////////////////////////////////////////////

package xinhuiji_day15;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class xmlTest {

/**
     * @param args
     * @throws ParserConfigurationException
     * @throws IOException
     * @throws SAXException
     * @throws TransformerException
     */
    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {
//        test3();
//        findId("3");
        addNode();
    }
  //查找节点的内容
    public static void test3() throws ParserConfigurationException,
            SAXException, IOException {
        DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = daoFactory.newDocumentBuilder();
        Document doc = builder.parse("src/网易手机各地行情.xml");
        NodeList nodeList = doc.getElementsByTagName("pubDate");
        for(int i = 0;i<nodeList.getLength();i++){
            Element e = (Element) nodeList.item(i);
            System.out.println(e.getFirstChild().getNodeValue());
        }
    }
    
    public void test() throws ParserConfigurationException, SAXException, IOException{
        DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = daoFactory.newDocumentBuilder();
        Document doc = builder.parse("src/收藏信息.xml");
        NodeList nodeList = doc.getElementsByTagName("Brand");
        for(int i = 0;i<nodeList.getLength();i++){
            Element e = (Element) nodeList.item(i);
//            System.out.println(e.getFirstChild().getNodeValue());
            System.out.println(e.getTagName());
            System.out.println(e.getAttribute("name"));
            NodeList nod = e.getElementsByTagName("Type");
            for(int j = 0;j<nod.getLength();j++){
                Element ne = (Element) nod.item(j);
                System.out.println("\t"+ne.getAttribute("name"));
            }
        }
    }
    
    public static void findId(String id) throws ParserConfigurationException, SAXException, IOException{
        DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = daoFactory.newDocumentBuilder();
        Document doc = builder.parse("src/网易手机各地行情.xml");
        NodeList nodeList = doc.getElementsByTagName("item");
        for(int i = 0;i<nodeList.getLength();i++){
            Element e = (Element) nodeList.item(i);
            String xmlId = e.getAttribute("id");
            if(xmlId.equals(id)){
                System.out.println(e.getElementsByTagName("title").item(0)
                        .getFirstChild().getNodeValue());
            }
        }
    }
    //增加节点
    public static void addNode() throws ParserConfigurationException, SAXException, IOException, TransformerException{
        DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = daoFactory.newDocumentBuilder();
        Document doc = builder.parse("src/收藏信息.xml");
        Element brandElement = doc.createElement("Brand");
        brandElement.setAttribute("name", "vivo");
        Element typeElement = doc.createElement("Type");
        typeElement.setAttribute("name", "nb");
        Element rootElement = (Element) doc.getElementsByTagName("PhoneInfo").item(0);
        brandElement.appendChild(typeElement);
        rootElement.appendChild(brandElement);
        //向xml文件中写
        TransformerFactory tff = TransformerFactory.newInstance();
        Transformer ts = tff.newTransformer();
        DOMSource source = new DOMSource(doc);
        ts.setOutputProperty(OutputKeys.ENCODING, "gb2312");
        StreamResult result = new StreamResult(new File("src/收藏信息.xml"));
        ts.transform(source, result);
        
        
    }

}

xml 操作

时间: 2024-11-11 17:19:43

xml 操作的相关文章

XML操作

XML: XML 指可扩展标记语言 XML 被设计用来传输和存储数据. XML 被设计用来结构化.存储以及传输信息. xml文档展示: -----------------------------xml文档 <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading

c#xml操作

简单的xml操作--解析技能xml xml文件 <skills> <skill> <id>1</id> <name lang="cn">大荒囚天指</name> <demage>100</demage> </skill> <skill> <id>2</id> <name lang="en">绝对零度</na

使用 IntraWeb (31) - IntraWeb 的 Xml 操作使用的是 NativeXml

在 IWNativeXml 单元. 知道了这个, 以后在其他 Delphi 程序中也可以直接 Uses IWNativeXml 了. TNativeXml (IWNativeXml.TNativeXml property AbortParsing: Boolean property BinaryEncoding: TBinaryEncodingType property CommentString: UTF8String property DropCommentsOnParse: Boolean

C#对一个XML操作的实用类

using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.Data; using System.IO; namespace eBlog.Common.Files { public class XmlHelper { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDoc

C#常用操作类库三(XML操作类)

/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { protected string strXmlFile; protected XmlDocument objXmlDoc = new XmlDocument(); public XmlHelper(string XmlFile) { // // TODO: 在这里加入建构函式的程序代码 // try { objX

php xml 操作。

参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档类型节点(只读) documentElement 返回文档的根元素(可读写) fi

C#:XML操作类

写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlContro

Python XML操作

XML(可扩展性标记语言)是一种非常常用的文件类型,主要用于存储和传输数据.在编程中,对XML的操作也非常常见. 本文根据python库文档中的xml.etree.ElementTree类来进行介绍XML的解析:https://docs.python.org/3.5/library/xml.etree.elementtree.html BTW,xml.etree.cElementTree模块从3.3以后就被弃用了. XML格式 首先,来看一下XML所包含的元素类型 1. 标签 <tag> 2.

C# XML 操作

1 xml文件格式 <?xml version="1.0" encoding="utf-8"?> <userInfo> <userName>sa</userName> <userPwd>111111</userPwd> </userInfo> 2 关键代码 2.1 MUserInfo.cs // ********************************************