wordxml文档解析

编程入门 行业动态 更新时间:2024-10-09 09:14:23
一、Word软件里,XML文档是什么

Extentsible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。

它没有标签集(tag set),也没有语法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确 的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。

XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。

如果一个文档符合一个模式(schema)的规定 ,那么这个文档是"模式有效的(schema。

二、解析XML文档有哪几种形式

有DOM,SAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码

三、Java解析XML文档内容是什么呢

一、前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。

Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。 JAXP接口包含了三个包: (1)org。

w3c。dom W3C推荐的用于XML标准规划文档对象模型的接口。

(2)org。xml。

sax 用于对XML进行语法分析的事件驱动的XML简单API(SAX) (3)javax。xml。

parsers解析器工厂工具,程序员获得并配置特殊的特殊语法分析器。 二、前提 DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org。

w3c。dom、org。

xml。sax 和javax。

xml。parsers包就可以满意条件了。

三、使用DOM解析XML文档 我们现在来看看DOM是如何解析XML的吧!同样的,我将从一个简单的不能再简单的例子来说明DOM是如何解析XML文档的,先让我们看看XML是什么内容吧: rjzjh jjjjjj 简单的不能再简单了。但是该有的都有了,根元素、属性、子节点。

好了,能反应问题就行了,下面来看看解析这个XML文件的Java代码吧! 1 public class DomParse { 2 public DomParse(){ 3 DocumentBuilderFactory domfac=DocumentBuilderFactory。 newInstance(); 4 try { 5 DocumentBuilder dombuilder=domfac。

newDocumentBuilder(); 6 InputStream is=new FileInputStream("bin/library。 xml"); 7 Document doc=dombuilder。

parse(is); 8 9 Element root=doc。getDocumentElement(); 10 NodeList books=root。

getChildNodes(); 11 if(books!=null){ 12 for(int i=0;i 13 Node book=books。 item(i); 14 if(book。

getNodeType()==Node。ELEMENT_NODE){ 15 String email=book。

getAttributes()。getNamedItem("email")。

getNodeValue(); 16 System。 out。

println(email); 17 for(Node node=book。getFirstChild();node!=null;node=node。

getNextSibling()){ 18 if(node。getNodeType()==Node。

ELEMENT_NODE){ 19 if(node。getNodeName()。

equals("name")){ 20 String name=node。getNodeValue(); 21 String name1=node。

getFirstChild()。 getNodeValue(); 22 System。

out。println(name); 23 System。

out。println(name1); 24 } 25 if(node。

getNodeName()。equals("price")){ 26 String price=node。

getFirstChild()。getNodeValue(); 27 System。

out。println(price); 28 } 29 } 30 } 31 } 32 } 33 } 34 } catch (ParserConfigurationException e) { 35 e。

printStackTrace(); 36 } catch (FileNotFoundException e) { 37 e。printStackTrace(); 38 } catch (SAXException e) { 39 e。

printStackTrace(); 40 } catch (IOException e) { 41 e。printStackTrace(); 42 } 43 } 44 public static void main(String[] args) { 45 new DomParse(); 46 } 47 }。

四、XML 文档定义有几种形式

本质区别 :schema 本身是 xml 的,可以被 XML 解析器解析 ( 这也是从 DTD 上发展 schema 的根本目的 ) 解析XML 文档的方式: DOM,SAX,STAX 等 DOM: 处理大型文件时其性能下降的非常厉害。

这个问题是由 DOM 的树结 构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个 文档装入内存 , 适合对 XML 的随机访问 SAX: 不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML件 ,不需要一次全部装载整个文件。

当遇到像文件开头,文档结束,或者标签开 头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码。

转载请注明出处51数据库 » wordxml文档解析

  • 0
  • 0
  • 0
  • 0
  • 0

更多推荐

wordxml文档解析

本文发布于:2023-06-06 10:50:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/539035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文档   wordxml

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!