知识大全 DOM、JDOM、DOM4J解析XML实例
Posted 学生
篇首语:多见者博,多闻者智,拒谏者塞,专己者孤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 DOM、JDOM、DOM4J解析XML实例相关的知识,希望对你有一定的参考价值。
DOM、JDOM、DOM4J解析XML实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
<?xml version= encoding= GB standalone= no ?><学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> <学生 性别= 女 > <姓名>王娟</姓名> <年龄> </年龄> </学生> </学生花名册> <?xml version= encoding= GB standalone= no ?><学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> <学生 性别= 女 > <姓名>王娟</姓名> <年龄> </年龄> </学生> </学生花名册> 数据模型Student java [java] view plaincopyprint? package upcgrid dom; public class Student private String name; private String sex; private int age; public String getName() return name; public void setName(String name) this name = name; public String getSex() return sex; public void setSex(String sex) this sex = sex; public int getAge() return age; public void setAge(int age) this age = age;
package upcgrid dom; public class Student private String name; private String sex; private int age; public String getName() return name; public void setName(String name) this name = name; public String getSex() return sex; public void setSex(String sex) this sex = sex; public int getAge() return age; public void setAge(int age) this age = age; DOM方式解析xml文档示例程序 [java] view plaincopyprint? package upcgrid dom; import java io FileOutputStream; import java io IOException; import java io OutputStreamWriter; import java util Vector; 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 TransformerException; import javax xml transform TransformerFactory; import javax xml transform dom DOMSource; import javax xml transform stream StreamResult; import w c dom Document; import w c dom Element; import w c dom NodeList; import w c dom Text; import xml sax SAXException; /** * * @author shijin 原始DOM解析XML方式 * */ public class DOMTest public static void main(String[] args) throws ParserConfigurationException SAXException IOException TransformerException DOMTest test = new DOMTest() test deleteElement( name xml 女 ) Vector<Student> stus = test changeXMLToModel( name xml ) for (Student stu : stus) System out print(stu getName() + + stu getSex() + + stu getAge() + \\n ) // 输出 // 李华 男 // 张三 男 test createDocument( name xml stus) /** * show 根据vector中的student对象创建xml文档 * * @param filename * 要创建的文档名 * @throws ParserConfigurationException * @throws SAXException * @throws IOException * @throws TransformerException */ public void createDocument(String filename Vector<Student> stus) throws ParserConfigurationException SAXException IOException TransformerException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 创建document对象 Document doc = builder newDocument() Element root = doc createElement( 学生花名册 ) // 创建根元素 doc appendChild(root) // 添加根元素 for (Student stu : stus) Element stuElement = doc createElement( 学生 ) stuElement setAttribute( 性别 stu getSex()) Element nameElement = doc createElement( 姓名 ) Text nameText = doc createTextNode(stu getName()) nameElement appendChild(nameText) Element ageElement = doc createElement( 年龄 ) Text ageText = doc createTextNode(String valueOf(stu getAge())) ageElement appendChild(ageText) stuElement appendChild(nameElement) stuElement appendChild(ageElement) root appendChild(stuElement) FileOutputStream fos = new FileOutputStream(filename) OutputStreamWriter ow = new OutputStreamWriter(fos) // 保存xml文件 DOMSource doms = new DOMSource(doc) // 创建结果输出流 StreamResult result = new StreamResult(ow) // 得到转换工厂实例 TransformerFactory transFac = TransformerFactory newInstance() // 得到转换器实例 Transformer trans = transFac newTransformer() // 转化器设置输出文档的编码方式 trans setOutputProperty(OutputKeys ENCODING GB ) //设置支持缩进 trans setOutputProperty(OutputKeys INDENT yes ) // 将文档源转换到结果输出流 trans transform(doms result) /** * show 读取指定XML文档并将其对象化 * * @param filename * @return 存储Student对象的vector * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public Vector<Student> changeXMLToModel(String filename) throws ParserConfigurationException SAXException IOException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 解析xml文档 获得document对象 即DOM树 Document doc = builder parse(filename) // 获取根节点 Element root = doc getDocumentElement() // 获取根节点的子节点中名字为 学生 的节点列表 NodeList stuNodes = root getElementsByTagName( 学生 ) Vector<Student> students = new Vector<Student>() // 遍历<学生>节点 for (int i = ; i < stuNodes getLength() i++) // 获取一个学生节点 Element stuNode = (Element) em(i) // 创建一个学生对象 Student stu = new Student() stu setSex(stuNode getAttribute( 性别 )) // 获取<学生>节点的子节点中名字为 姓名 的节点列表 NodeList nameNodes = stuNode getElementsByTagName( 姓名 ) // 取得第一个姓名 Element nameNode = (Element) em( ) stu setName(nameNode getTextContent()) // 获取<学生>节点的子节点中名字为 年龄 的节点列表 NodeList ageNodes = stuNode getElementsByTagName( 年龄 ) // 取得第一个年龄 Element ageNode = (Element) em( ) stu setAge(Integer parseInt(ageNode getTextContent())) students add(stu) return students; /** * show 删除指定名为filename的xml文档中学生结点的性别属性为tagname的结点 * * @param filename * @param tagname * @throws ParserConfigurationException * @throws SAXException * @throws IOException * @throws TransformerException */ public void deleteElement(String filename String tagname) throws ParserConfigurationException SAXException IOException TransformerException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 解析xml文档 获得document对象 即DOM树 Document doc = builder parse(filename) // 找到删除节点 NodeList stuNodes = doc getElementsByTagName( 学生 ) for (int i = ; i < stuNodes getLength() i++) Element stuElement = (Element) em(i) String sex = stuElement getAttribute( 性别 ) if (sex equals(tagname)) stuElement getParentNode() removeChild(stuElement) // 保存xml文件 DOMSource doms = new DOMSource(doc) // 创建结果输出流 StreamResult result = new StreamResult(new FileOutputStream(filename)) // 得到转换工厂实例 TransformerFactory transFac = TransformerFactory newInstance() // 得到转换器实例 Transformer trans = transFac newTransformer() // 转化器设置输出文档的编码方式 trans setOutputProperty(OutputKeys ENCODING GB ) // 将文档源转换到结果输出流 trans transform(doms result) package upcgrid dom; import java io FileOutputStream; import java io IOException; import java io OutputStreamWriter; import java util Vector; 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 TransformerException; import javax xml transform TransformerFactory; import javax xml transform dom DOMSource; import javax xml transform stream StreamResult; import w c dom Document; import w c dom Element; import w c dom NodeList; import w c dom Text; import xml sax SAXException; /** * * @author shijin 原始DOM解析XML方式 * */ public class DOMTest public static void main(String[] args) throws ParserConfigurationException SAXException IOException TransformerException DOMTest test = new DOMTest() test deleteElement( name xml 女 ) Vector<Student> stus = test changeXMLToModel( name xml ) for (Student stu : stus) System out print(stu getName() + + stu getSex() + + stu getAge() + \\n ) // 输出 // 李华 男 // 张三 男 test createDocument( name xml stus) /** * show 根据vector中的student对象创建xml文档 * * @param filename * 要创建的文档名 * @throws ParserConfigurationException * @throws SAXException * @throws IOException * @throws TransformerException */ public void createDocument(String filename Vector<Student> stus) throws ParserConfigurationException SAXException IOException TransformerException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 创建document对象 Document doc = builder newDocument() Element root = doc createElement( 学生花名册 ) // 创建根元素 doc appendChild(root) // 添加根元素 for (Student stu : stus) Element stuElement = doc createElement( 学生 ) stuElement setAttribute( 性别 stu getSex()) Element nameElement = doc createElement( 姓名 ) Text nameText = doc createTextNode(stu getName()) nameElement appendChild(nameText) Element ageElement = doc createElement( 年龄 ) Text ageText = doc createTextNode(String valueOf(stu getAge())) ageElement appendChild(ageText) stuElement appendChild(nameElement) stuElement appendChild(ageElement) root appendChild(stuElement) FileOutputStream fos = new FileOutputStream(filename) OutputStreamWriter ow = new OutputStreamWriter(fos) // 保存xml文件 DOMSource doms = new DOMSource(doc) // 创建结果输出流 StreamResult result = new StreamResult(ow) // 得到转换工厂实例 TransformerFactory transFac = TransformerFactory newInstance() // 得到转换器实例 Transformer trans = transFac newTransformer() // 转化器设置输出文档的编码方式 trans setOutputProperty(OutputKeys ENCODING GB ) //设置支持缩进 trans setOutputProperty(OutputKeys INDENT yes ) // 将文档源转换到结果输出流 trans transform(doms result) /** * show 读取指定XML文档并将其对象化 * * @param filename * @return 存储Student对象的vector * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public Vector<Student> changeXMLToModel(String filename) throws ParserConfigurationException SAXException IOException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 解析xml文档 获得document对象 即DOM树 Document doc = builder parse(filename) // 获取根节点 Element root = doc getDocumentElement() // 获取根节点的子节点中名字为 学生 的节点列表 NodeList stuNodes = root getElementsByTagName( 学生 ) Vector<Student> students = new Vector<Student>() // 遍历<学生>节点 for (int i = ; i < stuNodes getLength() i++) // 获取一个学生节点 Element stuNode = (Element) em(i) // 创建一个学生对象 Student stu = new Student() stu setSex(stuNode getAttribute( 性别 )) // 获取<学生>节点的子节点中名字为 姓名 的节点列表 NodeList nameNodes = stuNode getElementsByTagName( 姓名 ) // 取得第一个姓名 Element nameNode = (Element) em( ) stu setName(nameNode getTextContent()) // 获取<学生>节点的子节点中名字为 年龄 的节点列表 NodeList ageNodes = stuNode getElementsByTagName( 年龄 ) // 取得第一个年龄 Element ageNode = (Element) em( ) stu setAge(Integer parseInt(ageNode getTextContent())) students add(stu) return students; /** * show 删除指定名为filename的xml文档中学生结点的性别属性为tagname的结点 * * @param filename * @param tagname * @throws ParserConfigurationException * @throws SAXException * @throws IOException * @throws TransformerException */ public void deleteElement(String filename String tagname) throws ParserConfigurationException SAXException IOException TransformerException // 得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = DocumentBuilderFactory newInstance() // 从DOM工厂获取DOM解析器 DocumentBuilder builder = dbf newDocumentBuilder() // 解析xml文档 获得document对象 即DOM树 Document doc = builder parse(filename) // 找到删除节点 NodeList stuNodes = doc getElementsByTagName( 学生 ) for (int i = ; i < stuNodes getLength() i++) Element stuElement = (Element) em(i) String sex = stuElement getAttribute( 性别 ) if (sex equals(tagname)) stuElement getParentNode() removeChild(stuElement) // 保存xml文件 DOMSource doms = new DOMSource(doc) // 创建结果输出流 StreamResult result = new StreamResult(new FileOutputStream(filename)) // 得到转换工厂实例 TransformerFactory transFac = TransformerFactory newInstance() // 得到转换器实例 Transformer trans = transFac newTransformer() // 转化器设置输出文档的编码方式 trans setOutputProperty(OutputKeys ENCODING GB ) // 将文档源转换到结果输出流 trans transform(doms result) 输出 李华 男 张三 男 结果name xml [java] view plaincopyprint? <?xml version= encoding= GB standalone= no ?><学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> </学生花名册> <?xml version= encoding= GB standalone= no ?><学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> </学生花名册> name xml [java] view plaincopyprint? <?xml version= encoding= GB standalone= no ?> <学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> </学生花名册> <?xml version= encoding= GB standalone= no ?> <学生花名册> <学生 性别= 男 > <姓名>李华</姓名> <年龄> </年龄> </学生> <学生 性别= 男 > <姓名>张三</姓名> <年龄> </年龄> </学生> </学生花名册> 二 JDOM方式 HD xml [] view plaincopyprint? <?xml version= encoding= UTF ?> <HD> <disk name= C > <capacity> G</capacity> <directories> </directories> <files> </files> </disk> <disk name= D > <capacity> G</capacity> <directories> </directories> <files> </files> </disk> </HD> <?xml version= encoding= UTF ?> <HD> <disk name= C > <capacity> G</capacity> <directories> </directories> <files> </files> </disk> <disk name= D > <capacity> G</capacity> <directories> </directories> <files> </files> </disk> </HD> JDOM解析XML文档示例 [] view plaincopyprint? package upcgrid jdom; import java io IOException; import java util List; import jdom Document; import jdom Element; import jdom JDOMException; import jdom input SAXBuilder; public class JDOMTest public static void main(String[] args) throws JDOMException IOException // 获得JDOM以SAX方式处理XML文档的构造器 SAXBuilder saxb = new SAXBuilder() // 通过SAX构造器获得XML文档对象 Document doc = saxb build(JDOMTest class getClassLoader() getResourceAsStream( test xml )) // 获取根元素HD Element root = doc getRootElement() // 取名字为disk的所有元素 List<Element> list = root getChildren( disk ) for (int i = ; i < list size() i++) //取得第i个disk节点 Element diskElement = (Element) list get(i) //取得disk属性name String name = diskElement getAttributeValue( name ) // 取disk子元素capacity的内容 String capacity = diskElement getChildText( capacity ) String directories = diskElement getChildText( directories ) String files = diskElement getChildText( files ) System out println( 磁盘信息 ) System out println( 分区盘符 + name) System out println( 分区容量 + capacity) System out println( 目录数 + directories) System out println( 文件数 + files) System out println( ) package upcgrid jdom; import java io IOException; import java util List; import jdom Document; import jdom Element; import jdom JDOMException; import jdom input SAXBuilder; public class JDOMTest public static void main(String[] args) throws JDOMException IOException // 获得JDOM以SAX方式处理XML文档的构造器 SAXBuilder saxb = new SAXBuilder() // 通过SAX构造器获得XML文档对象 Document doc = saxb build(JDOMTest class getClassLoader() getResourceAsStream( test xml )) // 获取根元素HD Element root = doc getRootElement() // 取名字为disk的所有元素 List<Element> list = root getChildren( disk ) for (int i = ; i < list size() i++) //取得第i个disk节点 Element diskElement = (Element) list get(i) //取得disk属性name String name = diskElement getAttributeValue( name ) // 取disk子元素capacity的内容 String capacity = diskElement getChildText( capacity ) String directories = diskElement getChildText( directories ) String files = diskElement getChildText( files ) System out println( 磁盘信息 ) System out println( 分区盘符 + name) System out println( 分区容量 + capacity) System out println( 目录数 + directories) System out println( 文件数 + files) System out println( ) 输出结果 磁盘信息 分区盘符 C 分区容量 G 目录数 文件数 磁盘信息 分区盘符 D 分区容量 G 目录数 文件数 三 DOM J方式 User hbm xml [] view plaincopyprint? <?xml version= encoding= UTF ?> <hibernate mapping> <class name= upcgrid User table= t_user > <property name= username >aaa</property> <property name= password >bbb</property> </class》 </hibernate mapping> <?xml version= encoding= UTF ?> <hibernate mapping> <class name= upcgrid User table= t_user > <property name= username >aaa</property> <property name= password >bbb</property> </class》 </hibernate mapping> DOM J解析XML示例 [java] view plaincopyprint? package upcgrid dom j; import java io File; import java io FileWriter; import java io IOException; import java util Iterator; import java util List; import dom j Attribute; import dom j Document; import dom j DocumentException; import dom j DocumentHelper; import dom j Element; import dom j Node; import dom j io OutputFormat; import dom j io SAXReader; import dom j io XMLWriter; public class DOM JTest public static void main(String[] args) //获得DOM J以SAX方式处理XML文档的管道 SAXReader reader = new SAXReader() try //通过管道获得XML文档对象 Document document = reader read(new File( User hbm xml )) //获取根节点 Element root = document getRootElement() System out println(root getName()) Element element = null; //遍历根节点下的节点 for(Iterator<Element> i = root elementIterator() i hasNext() ) //根节点的子节点 element = (Element) i next() System out println(element getName()) //遍历节点属性 for(Iterator<Attribute> j = element attributeIterator() j hasNext() ) Attribute attr = (Attribute)j next() System out println(attr getName()+ : +attr getValue()) //遍历名为 property 的节点 for(Iterator<Element> k = element elementIterator( property ) k hasNext() ) Element e = (Element)k next() System out println(e getData()) //通过Xpath的方式寻找节点 List<Node> list = document selectNodes( //hibernate mapping/class/property ) for(Node n: list) String name = n valueOf( @name ) System out println(n getName()+ @name: +name) //只拿第一个 Node node = document selectSingleNode( //hibernate mapping/class ) String name = node valueOf( @name ) String table = node valueOf( @table ) System out println(node getName()+ @name: +name+ @table: +table) createDocument() catch (DocumentException e) e printStackTrace() public static Document createDocument() //创建document对象 Document document = DocumentHelper createDocument() Element root = document addElement( hibernate mapping ) //链式编程 Element classElement = root addElement( class ) addAttribute( name upcgrid User ) addAttribute( table t_user ) classElement addElement( property ) addAttribute( name username ) addText( aaa ) classElement addElement( Property ) addAttribute( name password ) addText( bbb ) try FileWriter out = new FileWriter( User hbm xml ) document write(out) out flush() out close() catch (IOException e) e printStackTrace() try //设定美化格式 OutputFormat format = OutputFormat createPrettyPrint() XMLWriter writer = new XMLWriter(new FileWriter( User hbm xml ) format) writer write(document) writer close() //缩减格式 catch (IOException e) e printStackTrace() return document; package upcgrid dom j; import java io File; import java io FileWriter; import java io IOException; import java util Iterator; import java util List; import dom j Attribute; import dom j Document; import dom j DocumentException; import dom j DocumentHelper; import dom j Element; import dom j Node; import dom j io OutputFormat; import dom j io SAXReader; import dom j io XMLWriter; public class DOM JTest public static void main(String[] args) //获得DOM J以SAX方式处理XML文档的管道 SAXReader reader = new SAXReader() try //通过管道获得XML文档对象 Document document = reader read(new File( User hbm xml )) //获取根节点 Element root = document getRootElement() System out println(root getName()) Element element = null; //遍历根节点下的节点 for(Iterator<Element> i = root elementIterator() i hasNext() ) //根节点的子节点 element = (Element) i next() System out println(element getName()) //遍历节点属性 for(Iterator<Attribute> j = element attributeIterator() j hasNext() ) Attribute attr = (Attribute)j next() System out println(attr getName()+ : +attr getValue()) //遍历名为 property 的节点 for(Iterator<Element> k = element elementIterator( property ) k hasNext() ) Element e = (Element)k next() System out println(e getData()) //通过Xpath的方式寻找节点 List<Node> list = document selectNodes( //hibernate mapping/class/property ) for(Node n: list) String name = n valueOf( @name ) System out println(n getName()+ @name: +name) //只拿第一个 Node node = document selectSingleNode( //hibernate mapping/class ) String name = node valueOf( @name ) String table = node valueOf( @table ) System out println(node getName()+ @name: +name+ @table: +table) createDocument() catch (DocumentException e) e printStackTrace() public static Document createDocument() //创建document对象 Document document = DocumentHelper createDocument() Element root = document addElement( hibernate mapping ) //链式编程 Element classElement = root addElement( class ) addAttribute( name upcgrid User ) addAttribute( table t_user ) classElement addElement( property ) addAttribute( name username ) addText( aaa ) classElement addElement( Property ) addAttribute( name password ) addText( bbb ) try FileWriter out = new FileWriter( User hbm xml ) document write(out) out flush() out close() catch (IOException e) e printStackTrace() try //设定美化格式 OutputFormat format = OutputFormat createPrettyPrint() XMLWriter writer = new XMLWriter(new FileWriter( User hbm xml ) format) writer write(document) writer close() //缩减格式 catch (IOException e) e printStackTrace() return document; 输出 hibernate mapping class name: upcgrid User table:t_user aaa bbb property @name:username property @name:password class @name: upcgrid User @table:t_user User hbm xml [] view plaincopyprint? <?xml version= encoding= UTF ?> <hibernate mapping><class name= upcgrid User table= t_user ><property name= username >aaa</property><Property name= password >bbb</Property></class></hibernate mapping> <?xml version= encoding= UTF ?> <hibernate mapping><class name= upcgrid User table= t_user ><property name= username >aaa</property><Property name= password >bbb</Property></class></hibernate mapping> User hbm xml [] view plaincopyprint? <?xml version= encoding= UTF ?> <hibernate mapping> <class name= upcgrid User table= t_user > <property name= username >aaa</property> <Property name= password >bbb</Property> </class> </hibernate mapping> cha138/Article/program/Java/hx/201311/26492相关参考
用JDOM完成Java更新XML文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文详细介绍
JDom输出UTF-8的XML完美解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现象描述J
XMLWebService实例详细解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们必须了
XmlWebService完全实例解析(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近
XMLWebService完全实例详细解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先我
java解析XML和java解析HTML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一dom
C#中使用XML---基于DOM的案例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 编写此
C#中使用XML基于DOM的案例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 编写此案例的
掌握XML实例演练ASP+XML编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作为一个普通
掌握XML:实例演练ASP+XML编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 此文是一篇