XML操作 文档

XML操作 文档
XML操作 文档

<书库>

<书>

<书名>Java编程入门

<作者>张三

<出版社>电子出版社

<价格>35.0

<出版日期>2002-10-07

<书>

<书名>XML在Java中的应用

<作者>李四

<出版社>希望出版社

<价格>92.0

<出版日期>2002-10-07

下面是操作XML文件的Bean:

package xml;

/**

* XML的读写操作Bean

*/

import java.io.*;

import java.util.*;

import org.jdom.*;

import org.jdom.output.*;

import org.jdom.input.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class XmlBean{

private String bookname,author,pub,price,pubdate;

public String getbookname() { return bookname;}

public String getauthor() { return author;}

public String getpub() { return pub;}

public String getprice() { return price;}

public String getpubdate() { return pubdate;}

public void setbookname(String bookname) { this.bookname =bookname ; } public void setauthor(String author) { this.author =author; }

public void setpub(String pub) { this.pub =pub ; }

public void setprice(String price) { this.price =price ; }

public void setpubdate(String pubdate) { this.pubdate =pubdate ; }

public XmlBean(){}

/**

* 读取XML文件所有信息

*/

public Vector LoadXML(String path)throws Exception{

Vector xmlVector = null;

FileInputStream fi = null;

try{

fi = new FileInputStream(path);

xmlVector = new Vector();

SAXBuilder sb = new SAXBuilder();

Document doc = sb.build(fi);

Element root = doc.getRootElement(); //得到根元素

List books = root.getChildren(); //得到根元素所有子元素的集合Element book =null;

XmlBean xml =null;

for(int i=0;i

xml = new XmlBean();

book = (Element)books.get(i ); //得到第一本书元素

xml.setbookname(book.getChild("书名").getText());

xml.setauthor(book.getChild("作者").getText());

xml.setpub(book.getChild("出版社").getText());

xml.setprice(book.getChild("价格").getText());

xml.setpubdate(book.getChild("出版日期").getText());

xmlVector.add(xml);

}

}

catch(Exception e){

System.err.println(e+"error");

}

finally{

try{

fi.close();

}

catch(Exception e){

e.printStackTrace();

}

}

return xmlVector;

}

/**

* 删除XML文件指定信息

*/

public static void DelXML(HttpServletRequest request)throws Exception{ FileInputStream fi = null;

FileOutputStream fo = null;

try{

String path=request.getParameter("path");

int xmlid=Integer.parseInt(request.getParameter("id"));

fi = new FileInputStream(path);

SAXBuilder sb = new SAXBuilder();

Document doc = sb.build(fi);

Element root = doc.getRootElement(); //得到根元素

List books = root.getChildren(); //得到根元素所有子元素的集合books.remove(xmlid);//删除指定位置的子元素

String indent = " ";

boolean newLines = true;

XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK");

fo=new FileOutputStream(path);

outp.output(doc,fo);

}

catch(Exception e){

System.err.println(e+"error");

}

finally{

try{

fi.close();

fo.close();

}

catch(Exception e){

e.printStackTrace();

}

}

}

/**

* 添加XML文件指定信息

*/

public static void AddXML(HttpServletRequest request)throws Exception{ FileInputStream fi = null;

FileOutputStream fo = null;

try{

String path=request.getParameter("path");

fi = new FileInputStream(path);

SAXBuilder sb = new SAXBuilder();

Document doc = sb.build(fi);

Element root = doc.getRootElement(); //得到根元素

List books = root.getChildren(); //得到根元素所有子元素的集合

String bookname=request.getParameter("bookname");

String author=request.getParameter("author");

String price=request.getParameter("price");

String pub=request.getParameter("pub");

String pubdate=request.getParameter("pubdate");

Text newtext;

Element newbook= new Element("书");

Element newname= new Element("书名");

newname.setText(bookname);

newbook.addContent(newname);

Element newauthor= new Element("作者");

newauthor.setText(author);

newbook.addContent(newauthor);

Element newpub= new Element("出版社");

newpub.setText(pub);

newbook.addContent(newpub);

Element newprice= new Element("价格");

newprice.setText(price);

newbook.addContent(newprice);

Element newdate= new Element("出版日期");

newdate.setText(pubdate);

newbook.addContent(newdate);

books.add(newbook);//增加子元素

String indent = " ";

boolean newLines = true;

XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK");

fo=new FileOutputStream(path);

outp.output(doc,fo);

}

catch(Exception e){

System.err.println(e+"error");

}

finally{

try{

fi.close();

fo.close();

}

catch(Exception e){

e.printStackTrace();

}

}

}

/**

* 修改XML文件指定信息

*/

public static void EditXML(HttpServletRequest request)throws Exception{ FileInputStream fi = null;

FileOutputStream fo = null;

try{

String path=request.getParameter("path");

int xmlid=Integer.parseInt(request.getParameter("id"));

fi = new FileInputStream(path);

SAXBuilder sb = new SAXBuilder();

Document doc = sb.build(fi);

Element root = doc.getRootElement(); //得到根元素

List books = root.getChildren(); //得到根元素所有子元素的集合Element book=(Element)books.get(xmlid);

String bookname=request.getParameter("bookname");

String author=request.getParameter("author");

String price=request.getParameter("price");

String pub=request.getParameter("pub");

String pubdate=request.getParameter("pubdate");

Text newtext;

Element newname= book.getChild("书名");

newname.setText(bookname);//修改书名为新的书名

Element newauthor= book.getChild("作者");

newauthor.setText(author);

Element newpub= book.getChild("出版社");

newpub.setText(pub);

Element newprice= book.getChild("价格");

newprice.setText(price);

Element newdate= book.getChild("出版日期");

newdate.setText(pubdate);

//books.set(xmlid,book);//修改子元素

String indent = " ";

boolean newLines = true;

XMLOutputter outp = new XMLOutputter(indent,newLines,"GBK"); fo=new FileOutputStream(path);

outp.output(doc,fo);

}

catch(Exception e){

System.err.println(e+"error");

}

finally{

try{

fi.close();

fo.close();

}

catch(Exception e){

e.printStackTrace();

}

}

}

}

下面是操作的jsp文件:

<%@ page contentType="text/html;charset=GBK" %>

<%@ page language="java" import="java.util.*,xml.*"%>

读取XML文件资料

JDOM操作XML文件

读取XML文件中的所有资料

书名作者出版社价格出版日期操作

<%

String path = application.getRealPath("/test/xml/")+"testC.xml";

XmlBean xml=new XmlBean();

Vector xmlall=xml.LoadXML(path);

for(int i=0;i

xml=(XmlBean)xmlall.elementAt(i );

/**out.println("书名:"+xml.getbookname()+"
");

out.println("作者:"+xml.getauthor()+"
");

out.println("出版社:"+xml.getpub()+"
");

out.println("价格:"+xml.getprice()+"
");

out.println("出版日期:"+xml.getpubdate()+"

");

*/

%>

<%=xml.getbookname()%><%=xml.getauthor()%><%=xml.getpub()%><%=xml.getprice()%><%=xml.getpubdate()%>删除

<%}%>

添加资料编辑资料

序号:

书名:

作者:

出版社:

价格:

日期:

下面是处理上一文件提交的jsp文件:

<%@ page contentType="text/html;charset=GBK" %>

<%@ page language="java" import="xml.*"%>

<%if(request.getParameter("act")!=null && request.getParameter("act").equals("add")){ XmlBean.AddXML(request);

out.println("



添加成功

返回");

}

else if(request.getParameter("act")!=null && request.getParameter("act").equals("del")){ XmlBean.DelXML(request);

out.println("



删除成功

返回");

}

else if(request.getParameter("act")!=null && request.getParameter("act").equals("edit")){ XmlBean.EditXML(request);

out.println("



修改成功

返回");

}

else{out.print("



非法操作

返回");} 查看该新闻的相关评论

XML报表操作流程详解

XML报表操作流程详细讲解 ——2014-8-10 XML报表有两种方法可以实现:REPORT和PL/SQL,这里介绍PL/SQL的做法,REPORT可以参考PPT教程。 第一步:写好PL/SQL程序 第二步:在浏览器(如IE)上输入网址打开ERP系统,输入用户名和密码登陆。如图1 图 1 第三步:登陆进去之后,在左边导航栏目下找到-应用开发员并展开,如图2,再找到并发,同样展开它,你会发现里面有程序、可执行、程序库三个标签,如图3。 图 2

图3 第四步:双击可执行,此时会弹出一个oracle application 的窗体,如图所示。如果没有弹出,可能需要安装一些东西,如果安装了还没有弹出则可能是浏览器兼容性问题,需要设置浏览器的安全性。弹出之后,如图4所示 图 4 接下来就可以进行可执行并发程序的定义: 可执行——填写的是自己定义的可执行名称,通常开发过程中会按项目 组的命名规范来填写,例如由有实际意义的简短英语单词构 成。 简称——通常简称和可执行填写的是一样的,目的是为了便于后期维护和记忆,以免太多的名称造成混淆。 应用产品——就是要应用此XML报表的产品 说明——说明性文字,只是为了便于读者理解,可不填 执行方法——执行方法有很多种,如图5,具体看你是采用哪一种,这里选择PL/SQL存储过程,默认情况下是oracle reports 执行文件名——由两部分组成,前面是包名,后面是过程名,中间用点号.隔开,如图6

子例程名、执行文件路径不用填,很少用,具体我也没用过。 注意:如果可执行已经被定义过,按F11键可进入查询模式,输入完查询字符后,接着按Ctrl + F11组合键则是执行查询。这个是ERP系统的通用快捷键,经常被用到。 最后填完之后点击保存按钮,如图8。 图 5 图6

如何用vc创建和读取xml文件

如何用vc创建和读取xml文件 当前Web上流行的剧本语言是以HTML为主的语言结构,HTML是一种标记语言,而不是一种编程语言,主要的标记是针对显示,而不是针对文档内容本身结构的描述的。也就是说,机器本身是不能够解析它的内容的,所以就出现了XML语言。XML (eXtensible Markup Language)语言是SGML语言的子集,它保留了SGML主要的使用功能,同时大大缩减了SGML的复杂性。XML语言系统建立的目的就是使它不仅能够表示文档的内容,而且可以表示文档的结构,这样在同时能够被人类理解的同时,也能够被机器所理解。XML要求遵循一定的严格的标准。XML分析程序比HTML浏览器更加要挑剔语法和结构,XML要求正在创建的网页正确的使用语法和结构,而不是象HTML一样,通过浏览器推测文档中应该是什么东西来实现HTML的显示,XML使得分析程序不论在性能还是稳定性方面都更容易实现。XML文档每次的分析结果都是一致的,不象HTML,不同的浏览器可能对同一个HTML作出不同的分析和显示。 同时因为分析程序不需要花时间重建不完整的文档,所以它们能比同类HTML能更有效地执行其任务。它们能全力以赴地根据已经包含在文档中的那个树结构建造出相应的树来,而不用在信息流中的混合结构的基础上进行显示。XML标准是对数据的处理应用,而不是只针对Web网页的。任何类型的应用都可以在分析程序的上面进行建造,浏览器只是XML的一个小的组成部分。当然,浏览仍旧极其重要,因为它为XML工作人员提供用于阅读信息的友好工具。但对更大的项目来说它就不过是一个显示窗口。因为XML具有严格的语法结构,所以我们甚至可以用XML来定义一个应用层的通讯协议,比如互联网开放贸易协议(Internet Open Trading Protocol)就是用XML来定义的。从某种意义上说,以前我们用BNF范式定义的一些协议和格式从原则上说都可以用XML来定义。实际上,如果我们有足够的耐心,我们完全可以用XML来定义一个C++语言的规范。 当然,XML允许大量HTML样式的形式自由的开发,但是它对规则的要求更加严格。XML主要有三个要素:DTD(Document Type Declaration——文档类型声明)或XML Schema(XML大纲)、XSL(eXtensible Stylesheet Language——可扩展样式语言)和XLink(eXtensible Link Language——可扩展链接语言)。DTD和XML大纲规定了XML文件的逻辑结构,定义了XML文件中的元素、元素的属性以及元素和元素的属性之间的关系;Namespace(名域)实现统一的XML文档数据表示以及数据的相互集成;XSL是用于规定XML文档呈现样式的语言,它使得数据与其表现形式相互独立,比如XSL能使Web浏览器改变文档的表示法,例如数据的显示顺序的变化,不需要再与服务器进行通讯。通过改变样式表,同一个文档可以显示得更大,或者经过折叠只显示外面得一层,或者可以变为打印得格式。而XLink将进一步扩展目前Web上已有的简单链接。 二、实现XML解析的说明 当然,从理论上说,根据XML的格式定义,我们可以自己编写一个XML的语法分析器,但是实际上微软已经给我们提供了一个XML语法解析器,如果你安装了IE5.0以上版本的话,实际上你就已经安装了XML语法解析器。可以从微软站点(https://www.360docs.net/doc/ac4740633.html,)下载最新的MSXML的SDK和Parser文件。它是一个叫做MSXML.DLL的动态链接库,最新版本为msxml3,实际上它是一个COM对象库,里面封装了所有进行XML解析所需要的所有必要的对象。因为COM是一种以二进制格式出现的和语言无关的可重用对象。所以你可以用任何语言(比如VB,VC,DELPHI,C++ Builder甚至是剧本语言等等)对它进行调用,

SQL操作XML

T-Sql操作Xml数据 一、前言 SQL Server 2005 引入了一种称为XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个XML 类型的列;此外,还允许带有变量和参数。为了更好地支持XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象(BLOB)。用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中。 随着SQL Server 对XML字段的支持,相应的,T-SQL语句也提供了大量对XML操作的功能来配合SQL Server中XML字段的使用。本文主要说明如何使用SQL语句对XML进行操作。 二、定义XML字段 在进行数据库的设计中,我们可以在表设计器中,很方便的将一个字段定义为XML类型。需要注意的是,XML字段不能用来作为主键或者索引键。同样,我们也可以使用SQL语句来创建使用XML字段的数据表,下面的语句创建一个名为“docs”的表,该表带有整型主键“pk”和非类型化的XML 列“xCol”: CREATE TABLE docs (pk INT PRIMARY KEY, xCol XML not null) XML类型除了在表中使用,还可以在存储过程、事务、函数等中出现。下面我们来完成我们对XML操作的第一步,使用SQL语句定义一个XML类型的数据,并为它赋值: declare @xmlDoc xml; set @xmlDoc=' C Program David 21 ' 三、查询操作 在定义了一个XML类型的数据之后,我们最常用的就是查询操作,下面我们来介绍如何使用SQL 语句来进行查询操作的。

PBDOM操作XML文档轻松入门_PowerBuilder

PBDOM操作XML文档轻松入门 2008-03-06 15:13 本文对PBDOM技术进行相关介绍,但并不涉及XML的基础知识,建议阅读者对下述相关术语有一定了解: Document(文档), DTD(文档类型定义), schema (大纲),Element(元素), attribute(属性), processing instruction (处理命令), entity(实体)。 本文主要包括以下内容: 1、为什么要使用PBDOM以及怎样创建PBDOM 2、PBDOM主要用于那些地方 3、如何使用PBDOM编程 4、PBDOM和其他XML解析(parser)技术的比较 一、什么是DOM ◆文档对象模型(Document Object Model) 1、作为一项W3C规范,XML DOM存在目的是为不同类型的应用程序提供一个标准的编程接口,它被设计可以跨平台、跨语言使用。 2、我们可以利用XML DOM创建XML文档并操纵其结构,增加、修改、删除元素。 3、程序中调用XML解析器载入XML文档到内存中。当文档被载入后,可以通过进入DOM检索和操作相关信息。 4、DOM 保存了XML文档树,文档(document)元素位于整棵树的最顶层。该元素可以有一到多个子节点来保存树的结构。 可以参阅以下网站: https://www.360docs.net/doc/ac4740633.html,/dom/ 来了解更多的关于XML Document Object Model的内容。 二、什么时候应该使用DOM工具 ◆当你需要做下列事情的时候,你应该想到XML DOM的 1、在一个或者多个XML文档之间移动元素 2、创建新的元素并且在XML文档的任意位置插入 3、操作元素并重新插入其到XML文档其他位置 4、导入内嵌数据结构 & . pb9中,数据窗口现在可以通过XML导出内嵌数据结构(nested data structures). 三、什么是PBDOM ◆PowerBuilder 文档结构模型(PowerBuilder Document Object Model)

XML文件基本操作

XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Language,标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule)。 任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得 含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档 类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是"模式有效的(schema valid)"。 XML文件在存储、交换和传输数据信息上有着很方便处理,那么今天这篇文章主要讲一下用C#如何实现对XML文件的基本操作, 如:创建xml文件,增、删、改、查xml的节点信息。所使用的方法很基础,方便易懂(用于自己的学习和记忆只需,同时也希望能够给你带来一些帮助, 如有不合适的地方欢迎大家批评指正)。 本文的主要模块为: ①:生成xml文件 ②:遍历xml文件的节点信息 ③:修改xml文件的节点信息 ④:向xml文件添加节点信息 ⑤:删除指定xml文件的节点信息假设我们需要设计出这样的一个xml文件来存储相应的信息,如下所示: Lenovo 5000 IBM 10000 那么如何生成这个xml文件?又怎么读取这个xml文件的节点信息,以及如何对这个xml文件的节点信息作相应的操作?请看如下代码示例: 【注:因为我们要使用xml相关的语法和方法,所以一定要引入命名空间System.Xml】1using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Xml; 6 7 namespace OperateXML 8{

SQL对Xml字段的操作 T-Sql操作Xml数据

SQL对Xml字段的操作 T-Sql操作Xml数据 一、前言 SQL Server 2005 引入了一种称为XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个XML 类型的列;此外,还允许带有变量和参数。为了更好地支持XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象(BLOB)。 用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中。 随着SQL Server 对XML字段的支持,相应的,T-SQL语句也提供了大量对XML操作的功能来配合S QL Server中XML字段的使用。本文主要说明如何使用SQL语句对XML进行操作。 二、定义XML字段 在进行数据库的设计中,我们可以在表设计器中,很方便的将一个字段定义为XML类型。需要注意的是,XML字段不能用来作为主键或者索引键。同样,我们也可以使用SQL语句来创建使用XML字段的数据表,下面的语句创建一个名为“docs”的表,该表带有整型主键“pk”和非类型化的XML 列“xCol”:CREATE TABLE docs (pk INT PRIMARY KEY, xCol XML not null) XML类型除了在表中使用,还可以在存储过程、事务、函数等中出现。下面我们来完成我们对XML操作的第一步,使用SQL语句定义一个XML类型的数据,并为它赋值: declare @xmlDoc xml; set @xmlDoc=' C Program David 21 ' 三、查询操作 在定义了一个XML类型的数据之后,我们最常用的就是查询操作,下面我们来介绍如何使用SQL语句来进行查询操作的。 在T-Sql中,提供了两个对XML类型数据进行查询的函数,分别是query(xquery)和value(xquery, dataType),其中,query(xquery)得到的是带有标签的数据,而value(xquery, dataType)得到的则是标签的内容。接下类我们分别使用这两个函数来进行查询。 1、使用query(xquery) 查询 我们需要得到书的标题(title),使用query(xquery)来进行查询,查询语句为: select @xmlDoc.query('/book/title') 运行结果如图:

XMLDocument对xml文件的增删改查操作

从结构上讲.XmlElement是XmlNode 派生类. 所以两者比较没什么意义. XmlNode 为抽像类, 不能直接实例化. 已知有一个xml文件(bookstore.xml)如下: Oberon's Legacy Corets, Eva 5.95 1、往节点中插入一个节点: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlElement xe1=xmlDoc.CreateElement("book");//创建一个节点 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 XmlElement xesub1=xmlDoc.CreateElement("title"); xesub1.InnerText="CS从入门到精通";//设置文本节点 xe1.AppendChild(xesub1);//添加到节点中 XmlElement xesub2=xmlDoc.CreateElement("author"); xesub2.InnerText="候捷"; xe1.AppendChild(xesub2); XmlElement xesub3=xmlDoc.CreateElement("price"); xesub3.InnerText="58.3"; xe1.AppendChild(xesub3); root.AppendChild(xe1);//添加到节点中 xmlDoc.Save("bookstore.xml"); //=============================================== 结果为:

C#程序:如何创建xml文件以及xml文件的增、删、改、查

C#程序:如何创建xml文件以及xml文件的增、删、改、查 其实今天的这篇博文,是对请几天发表的博文的一个总结,只是想把xml文件的增删改查结合起来,这样更容易让初学的朋友理解,废话也不多说了,开始吧! 下面是我把我在vs环境下写的代码ctrl+V然后ctrl+V了的,课根据自己的需要执行相应的方法 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.IO; namespace WriteXml { class Program { static void Main(string[] args) { //createXml();//创建文件和添加基本数据,便于之后操作实验 //addItem();//追加数据 readtext();//读取数据 //updatexml();//更新数据 //delnode();//删除数据 } private static void createXml() { XmlTextWriter writer = new XmlTextWriter("titles.xml", null); //使用自动缩进便于阅读 writer.Formatting = Formatting.Indented; //写入根元素 writer.WriteStartElement("items"); writer.WriteStartElement("item"); //写入属性及属性的名字 writer.WriteAttributeString("类别", "文学"); writer.WriteAttributeString("品质", "优"); //加入子元素 writer.WriteElementString("title", "毛著"); writer.WriteElementString("author", "毛泽东"); writer.WriteElementString("price", "10.0"); //关闭根元素,并书写结束标签 writer.WriteEndElement(); writer.WriteEndElement(); //将XML写入文件并且关闭XmlTextWriter writer.Close();

VB NET与XML之间的操作

Imports System.Xml'声明XML Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click Dim dataset As New DataSet'声明一个dataset dataset.ReadXml("f:¥aaa.xml")'读xml文件,并把xml文件放入到datset的第一个表中 Dim table As DataTable=dataset.Tables(0)'读出该表 Dim view As DataView=New DataView(table)'自定义视图 DataGridView1.DataSource=view'绑定数据源 End Sub Public Sub appear()'同上 Dim dataset As New DataSet dataset.ReadXml("f:¥aaa.xml") Dim table As DataTable=dataset.Tables(0) Dim view As DataView=New DataView(table) DataGridView2.DataSource=view End Sub Private Sub Button2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button2.Click Dim xmlDou As XmlDocument=New XmlDocument()'声明一个xml文档对象 xmlDou.Load("f:¥aaa.xml")'将特定的xml文档写入xmldoucument Dim xmlnode As XmlNode=xmlDou.SelectSingleNode("bookstore")'声明一个根标记,bookstore为根标记 Dim xml1As XmlElement=xmlDou.CreateElement("book")'声明一个xml 的节点 xml1.SetAttribute("genre","李簪红")'节点的属性 xml1.SetAttribute("ISBN","2-3621-4")'同上 Dim xml1_title As XmlElement=xmlDou.CreateElement("title")'声明一个xml的节点 xml1_title.InnerText="C#程序设计入门与技巧"'定义节点的文档 xml1.AppendChild(xml1_title)'向总节点尾部添加节点 Dim xml1_author As XmlElement=xmlDou.CreateElement("author")'同上xml1_author.InnerText="张永斌"

java操作word(利用xml模板)

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; 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.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Document; import org.w3c.dom.Element; public class OperateXml { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub OperateXml ox = new OperateXml(); ox.operateXml(); } public void operateXml() { try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse(new File("D:/贷前核查输出模板.xml")); Element element = document.getDocumentElement(); // 得到所有表格集合 NodeList tblList = element.getElementsByTagName("w:tbl");// w:t标签组 // 得到第一张表

xml练习题

XML练习题 一、填空题 1.定义电子文档结构和描述其内容的国际标准语言是,它是所有电子文档标记语言的起源。 2.能够描述其他语言及其语法和词汇表的语言称为。 3.XML文档的声明中的编码方式常用的有和GB2312。 4.HTML是用所定义的,即是SGML的一个应用。 5.XML元素由、结束标记和两者之间的内容三个部分组成。 7.XML属性的声明位置是。 8.XML文档中用来包含文本的组件是。 9.是解决XML元素多义性和名字冲突问题的方案。 10.XML是的一个子集。 11. 当XML文档符合时,称该文档是“良好格式的”(Well-formed)。 12.每个XML文档都分为两个部分:和。 13.<?xml version=”1.0”encoding=”GB2312” ?>就是一个。 14.XML 文档内容的主体部分,一般由、、、注释和内容组成。 15.XML文档中一共有四类元素,分别为,仅含有文本的,含子元素、文本或混合元素的元素。 16. XML Schema两种重要的模型是Microsoft XML Schema和。 17. Microsoft XML Schema 和W3C XML Schema 分别使用AttributeType 和声明XML文档属性。 18. 命名空间的声明一般放置在,其使用语法如下所示: xmlns:prefix=“URI” 19. XML模式负责定义和描述XML文档的结构和内容。定义XML文档中存在哪些元素和元素之间的关系,还可以定义元素和属性的数据类型。 20.所有Schema文档都必须要使用作为其根元素。 21.声明用户自定义的简单数据类型使用关键字。 22.声明复杂数据类型使用关键字。 23.Schema文档中,用于声明元素的element元素的属性minOccurs的作用是。 24. XSLT是一种将XML文档转换成其他形式文档的技术。现在常用的两种技术分别是: 和。 25. XSLT处理过程涉及4个要素:XSLT处理器、输入XML文档、输入XSLT文档和输出文档。 26. 每一个XSLT样式表中都有一个应用到根节点的模板。 27. 一个格式良好XSL文件是由标记和HTML标记组成。 28.模板是的集合,都使用定义XML数据显示的样式。 29.使用标记可以对多个同名的节点访问,并且该节点可以设置在显示数据的时候,可以按升序或降序显示。 30.可以在XSL文件中使用创建一个标记,设置标记的名称,通过 标记可以为创建的设置相应的属性。 31.在XSL中使用样式表CSS有两种方式:一种直接通过嵌入的HTML标记中的属性style·来设置该标记以实现样式的定义,另外一种是把CSS代码放在之间。

使用XMLDocument操作xml文件

在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlElement xmlelem ; 第一步: //创建到服务器同名目录下的xml文件: XmlDocument xdoc = new XmlDocument(); //加入XML的声明部分 XmlDeclaration xdecl = xdoc.CreateXmlDeclaration("1.0", "gb2312", null); xdoc.AppendChild(xdecl); //加入一根元素 XmlElement xelem = xdoc.CreateElem ent("Employees"); xdoc.AppendChild(xelem); //向根元素中添加节点 for (int i = 1; i < 3; i++) { //取出根节点 XmlNode root = xdoc.SelectSingleNode("Employees"); //创建一个节点 XmlElement xel = xdoc.CreateElement("Node"); //设置节点的属性 xel.SetAttribute("name", "张三疯"); xel.SetAttribute("favor", "论剑"); //创建节点 XmlElement xSub1 = xdoc.CreateElement("title"); //设置节点中的文本内容 xSub.InnerText = "太极功夫"; //将<title>添加到<Node>中 xel.AppendChild(xSub); // XmlElement xSub2 = xdoc.CreateElement("author"); xSub2.InnerText = "三疯哥"; xel.AppendChild(xSub2); XmlElement xSub3 = xdoc.CreateElement("price"); xSub3.InnerText = "20.8"; xel.AppendChild(xSub3);</p><h2>C#操作xml:增,删,改,查</h2><p>c#操作xml https://www.360docs.net/doc/ac4740633.html,/e/404232246.htm 同样是增,删,改,查四种操作。现在我们就详细介绍一下增和删两种操作。看下面的一个xml示例: <?xml version="1.0" encoding="utf-8"?> <phonebook> <member id="6"> <name>456</name> <qq>5465</qq> </member> <member id="5"> <name>jjjjj</name> <qq>3456789</qq> </member> </phonebook> xml的每个节点分为节点名称,节点值和属性三类,如:member节点:id为其一个属性,menber为其节点名称。再如:name节点456为其节点值。 如果我们需要增加一个节点可以调用一下几个方法: /// <summary> /// 在根节点下添加父节点 /// </summary> public static void AddParentNode(string xmlPath,string parentNode) { XmlDocument xdoc = new XmlDocument(); xdoc.Load(xmlPath); // 创建一个新的menber节点并将它添加到根节点下 XmlElement Node = xdoc.CreateElement(parentNode); xdoc.DocumentElement.PrependChild(Node); xdoc.Save(xmlPath); } #region 插入一节点,带一属性 /// <summary> /// 插入一节点,带一属性 /// </summary> /// <param name="xmlPath">Xml文档路径</param> /// <param name="MainNode">当前节点路径</param> /// <param name="Element">新节点</param> /// <param name="Attrib">属性名称</param> /// <param name="AttribContent">属性值</param> /// <param name="Content">新节点值</param> public static void XmlInsertElement(string xmlPath, string MainNode, string Element,</p><h2>c++操作xml</h2><p>c++操作xml C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,选用LIBXML2 Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH 查询,以及部分的支持XSLT转换等功能。 Libxml2的下载地址是https://www.360docs.net/doc/ac4740633.html,/ windows版本的的下载地址是https://www.360docs.net/doc/ac4740633.html,/libxml.en.html libxml2库依赖iconv和zlib库,所以需要下载三个 成功版本libxml2-2.6.30.win32.zip、zlib-1.2.3.win32.zip和iconv-1.9.2.win32.zip。 解压,在系统变量path中加上iconv-1.9.2.win32\bin;zlib-1.2.3.win32\bin;libxml2-2.6.30.win32\bin这三个地址。或者把其中的三个dll到拷贝到system32目录中 编译链接基于libxml2的程序,在VC环境中设置lib和include路径,并在link设置中添加libxml2.lib和iconv.lib. vc:项目->属性->c/c++->常规->附加包含目录,将三个文件夹的include下的.h头文件包含进工程 项目->属性->链接器->常规->附加库目录,将三个文件夹的bin下的.lib库文件包含进工程 注意,这只是将目录包含进工程,需要使用时需在代码中写 #include<libxml/parser.h>(eg) 和 #pragma comment(lib,"libxml2.lib")(eg) 实验代码如下 /******************************************************************** created:2007/11/09 created:9:11:200715:34 filename:CreateXmlFile.cpp author:Wang xuebin</p><h2>xml操作C++表述</h2><p>VC中tinyxml使用方法简介 1.加载文件。 TiXmlDocument doc( "demo.xml" ); doc.LoadFile(); 2. void main(void) { TiXmlDocument doc("example1.xml"); bool loadOkay = doc.LoadFile(); if (loadOkay) { printf("\n%s:\n", pFilename); dump_to_stdout( &doc ); // defined later in the tutorial } else { printf("Failed to load file \"%s\"\n", pFilename); } return; } example1.xml 的内容如果是: <?xml version="1.0" ?> <Hello>World</Hello> 输出为: DOCUMENT + DECLARATION + ELEMENT Hello + TEXT[World] 3.建立文档的方法. void build( ) { TiXmlDocument doc; TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "", "" ); TiXmlElement * element = new TiXmlElement( "Hello" ); TiXmlText * text = new TiXmlText( "World" ); element->LinkEndChild( text ); doc.LinkEndChild( decl ); doc.LinkEndChild( element ); doc.SaveFile( "example1.xml" ); } 4.设定节点属性。 TiXmlElement window = new TiXmlElement( "Demo" ); window->SetAttribute("name", "Circle"); window->SetAttribute("x", 5);</p><h2>xml文件介绍及使用</h2><p>我们经常看到 xml 文件,只是很少去使用,顼名思义,xml 就是可扩展的标记语言,它的 发展如下图所示:<br>xml 和 html 的比较:<br>比较内容 可扩展性 签<br>HTML 不允许用户定义自己的扩展标 签<br>XML 允许用户定义自己的扩展标<br>结构描述<br>不支持深层次的嵌套表达<br>支持深层次的嵌套表达,适 合表示结构复杂的文档数据 结构清晰,便于阅读、维护 内容描述和表现形式相分离<br>可读性及可维护性 数据和显示的关系<br>难以阅读、维护 内容描述和表现形式合为一体<br>xml 比 html 强大,但是使用更加规范和严格: (1).XML 是区分大小写的; (2).所有元素的起始和结束标注必须成对出现,且要正确嵌套; (3).如果使 XML 说明,则它必须是 XML 文档的第一行:<br><br></p><p><?xml version=”1.0”?> (4).元素属性必须用引号引起来,单、双引号都可以,但必须成对出现。如: <basic attr=”1.0”> <basic attr=’1.0’> (5).XML 命名规则: ①.XML 名以下划线戒字母开始; ②.XML 名可包含字母、数字、句点、下划线和冒号; ③.XML 名丌能包含空格; ④.XML 名丌能以数字开始,但可包含数字; ⑤.XML 名区分大小写。 (6).保留标记字符,如果要在 XML 中显示<戒&之类的标记,就要使用字符的实体形式, XML 中有五种预先定义了的实体: <: >: 表示<字符 表示>字符<br>&: 表示&字符 &apos: 表示’字符 ": 表示”字符 我们也可用 ENTITY 自定义实体:<br><br></p><h2>C#对XML完整操作.</h2><p>C#对XML完整操作 https://www.360docs.net/doc/ac4740633.html,/question/74181361.html <?xml version="1.0"?> <birthday> <NO1> <type>类型</type> <date>时间</date> <title>信息 姓名 类型 时间 信息 姓名 1.XML数据格式如上,要求程序有读.写.编辑.删除操作 2.请尽可能帮忙写备注 3.xml数据读入到treeview中,分别显示各个字段,并按时间顺序排序 4.请不要复制网上代码,很多都是出现杂七杂八问题呢 5.代码请尽量简洁 6.如果好用,再加感谢分^_^

//假定TreeView控件的id为treeView XmlDocument dom = new XmlDocument(); dom.Load("aaa.xml");//装载XML文档 //遍历所有节点 int num = 0; foreach(XmlElement birthday in dom.DocumentElement.ChildNodes) { //读取数据 string type = birthday.SelectSingleNode("type").InnerText; string date = birthday.SelectSingleNode("date").InnerText; string title = birthday.SelectSingleNode("title").InnerText; string name = birthday.SelectSingleNode("name").InnerText; string text = name + ":" + title;//节点文字 string image = type;//节点图片 string data = num.ToString();//节点对应数据 num++; //装载示例,将新建的节点添加到TreeView TreeNode node = new TreeNode(text, data, image);//create a new node treeView.Nodes.Add(node); //编辑示例:将当前节点的生日更改为当前日期 birthday.SelectSingleNode("date").InnerText = DateTime.Now.ToString(); //删除示例:将当前节点删除 birthday.ParentNode.RemoveChild(birthday); } dom.Save();

XML操作 文档

<书库> <书> <书名>Java编程入门 <作者>张三 <出版社>电子出版社 <价格>35.0 <出版日期>2002-10-07 <书> <书名>XML在Java中的应用 <作者>李四 <出版社>希望出版社 <价格>92.0 <出版日期>2002-10-07 下面是操作XML文件的Bean: package xml; /** * XML的读写操作Bean */ import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.output.*; import org.jdom.input.*; import javax.servlet.*; import javax.servlet.http.*; public class XmlBean{ private String bookname,author,pub,price,pubdate; public String getbookname() { return bookname;} public String getauthor() { return author;} public String getpub() { return pub;} public String getprice() { return price;} public String getpubdate() { return pubdate;} public void setbookname(String bookname) { this.bookname =bookname ; } public void setauthor(String author) { this.author =author; } public void setpub(String pub) { this.pub =pub ; } public void setprice(String price) { this.price =price ; } public void setpubdate(String pubdate) { this.pubdate =pubdate ; } public XmlBean(){} /**

相关主题
相关文档
最新文档