以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  点net里面有与SAX类似的技术吗  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=32140)


--  作者:flyfoxs
--  发布时间:5/11/2006 7:19:00 PM

--  点net里面有与SAX类似的技术吗
在JAVA里面解析XML有 DOM,有JDOM,有SAX。

DOM是W3c标准

JDOM是JCP标准(点NET肯定是没有的了)

不知点NET中SAX可有对应的?


--  作者:flyfoxs
--  发布时间:5/13/2006 4:35:00 PM

--  
顶一下


会点乐特的来指教一下啊。


--  作者:flyfoxs
--  发布时间:5/17/2006 9:47:00 AM

--  
可能是我问题问的不清楚,我再描述一下。

在JAVA中有一个sax解析XML的标准,他不同于W3C定义的DOM标准。但他使用的是JAVA标准。

我想知道,在点net中是否也有相关的解析标准。


因为SAX与DOM标准各有各的用途。


--  作者:flyfoxs
--  发布时间:5/21/2006 7:52:00 PM

--  
项。
--  作者:doubleG
--  发布时间:5/26/2006 10:14:00 AM

--  
.net中没有SAX的实现方式,但是它也有类似于sax的只能往前的获取方式,XmlReader和XmlWriter。SAX是基于推模型的,是事件驱动型,可以看到在实现SAX的时候要实现函数BeginElement这类的函数,但是.net中的是基于拉模型的,把XML拉出来然后进行处理,类似于While(reader.read()){......}这样的处理方式:)
--  作者:flyfoxs
--  发布时间:5/30/2006 10:30:00 AM

--  
谢谢了,不过还是有点不大明白:
“SAX是基于推模型的,是事件驱动型,net中的是基于拉模型的。”
这个推,拉是怎么体现的?推,拉的主语是哪个?
--  作者:doubleG
--  发布时间:6/1/2006 1:06:00 PM

--  
我想应该还是比较好理解的吧,就相当于你要处理一个xml,你把模子做好了,然后把xml推进模具中,让他按照你的设定来做,这就是SAX,它是根据每个不同的事件触发你不同的处理方式。而拉模型,就是XML是在那里,你要去遍历,这样的话就是你要自己去拉出每个XML的item,根据拉出的东西自己处理(这话看着有点别扭.....) ,呵呵
--  作者:flyfoxs
--  发布时间:6/1/2006 4:19:00 PM

--  
我按照楼上的说明,这样去理解。不知可对。

SAX是先有一个模型,在里面已经定义好了对一些元素的开始,关闭之类的触发操作,在使用时就不用修改了。

拉模型就是当XML文件先有了,你如果要什么数据就到文件里面去找你要的那一部分数据,也就是要一点就去拉一点。

不知道理解的可对,请版主大人指教。


--  作者:Qr
--  发布时间:6/7/2006 8:22:00 PM

--  
“推”模式是解析器每次读到属性、处理指令等内容都向客户程序通报,然后由客户程序来处理这些数据。对于不必要的数据,客户程序不予理睬。这样,实现了在访问数据跳过了指定的数据。这其中的关键是,由程序来完成数据选择的。

      “拉”模式是解析器只会通报由客户程序指定的数据内容,对于其他无关的内容,一律不用通报,直接跳过。通报的规则是客户程序指定的,由解析器来应用这些规则。也就是说,是由解析器来完成数据选择的选择过程。


--  作者:startbug
--  发布时间:11/17/2006 1:54:00 PM

--  
thanks
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms