以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 如何验证接收到的XML是否匹配指定的XSD,我找了三天三夜了,好像没有人知道??? (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=24238) |
-- 作者:Kevin_327 -- 发布时间:11/14/2005 4:56:00 PM -- 如何验证接收到的XML是否匹配指定的XSD,我找了三天三夜了,好像没有人知道??? 如何验证接收到的XML是否匹配指定的XSD,我找了三天三夜了,好像没有人知道??? |
-- 作者:chenhm66 -- 发布时间:11/17/2005 10:52:00 AM -- 什么意思啊?说清楚点 用的什么工具?从哪里接收的xml文档? |
-- 作者:98900969r -- 发布时间:11/19/2005 6:46:00 AM -- 如果不想安装相关的软件,这里有一个在线的验证器: http://www.w3.org/2001/03/webdata/xsv 可惜只有英文界面。 |
-- 作者:water_mys -- 发布时间:11/21/2005 2:31:00 PM -- 我也想知道啊,55555555555555 |
-- 作者:xiaoyaozgc -- 发布时间:12/20/2005 3:35:00 PM -- 我也需要这方面的资料呀,大家谁知道的来说一下呀 |
-- 作者:98900969r -- 发布时间:12/20/2005 4:46:00 PM -- 想学xml及相关技术,可以安装一个xml工作平台,例如XMLSpy或者Stylus Studio。这些工具提供了编辑各种XML相关文档的图形界面,例如XML,XML Schema, DTD, XSLT,Xquery等,并且提供了相关的处理程序,即实现了用DTD、XSD验证XML文档,用XSLT转换XML文档,用XQeury查询XML文档等功能。 也可以不安装上面说到的工具,而用一些程序开发环境中提供XML的功能。在Windows平台上如果使用Visual Studion 6 需要安装MSXML包,如果使用Visual Studio .NET 2003则可使用 .NET的System.Xml,在Java平台上的开发工具就更多。这些开发环境中有关XML的功能毫不示弱,只有一点不好,就是有关XML文档编辑及使用的图形界面没有那么好。 |
-- 作者:vampire_shirley -- 发布时间:12/21/2005 9:36:00 AM -- 你可以用XML Spy,打开你的XSD文件然后选择Spy顶部的DTD/Schema选项,里面有生成样例XML文件,模仿样例中的文件头部写,主要是名字空间的一些属性设置,关联上之后你就可以选择Spy顶部的XML文件选项里面的验证来验证你的XML文件了 |
-- 作者:flyfoxs -- 发布时间:1/9/2006 5:50:00 PM -- 如果一个xml里面有需要验证的信息,使用xml spy打开,如果 没有什么提示就是通过了验证。 否则一定会有错误提示的。 |
-- 作者:custjcy -- 发布时间:1/11/2006 11:25:00 AM -- 搂主指的应该是编程时如何应该使用什么组件进行xml校验吧? |
-- 作者:custjcy -- 发布时间:1/11/2006 12:25:00 PM -- 如果使用的是.net可以的话可以使用:XmlValidatingReader 。 详细见 使用 XmlValidatingReader 根据 XML 架构 (XSD) 进行验证 |
-- 作者:zhangzel -- 发布时间:3/14/2006 11:47:00 AM -- java编程的话我是用的xcerses2.3以后的版本校验xml是否合法 |
-- 作者:lx-tamc -- 发布时间:4/26/2006 4:50:00 PM -- 努力学习中 |
-- 作者:jee89731 -- 发布时间:4/29/2006 3:51:00 PM -- XMLwriter 随便下载补丁 有中文版的 用这个验证还不错 因为机房SPY 修改注册装不进去 艾 阿门~~~~~~~~~ |
-- 作者:wolfkin -- 发布时间:4/30/2006 9:11:00 AM -- 我也向大家求教, DTD就是一个模式文件,在xml文档中可以指明使用这个DTD文件; 我不明白的是如何在xml文档中指明所用的xml schema文件, 我是个初学者,这方面不懂,请哪位大侠指点一下。 |
-- 作者:zhengmaoch -- 发布时间:8/3/2006 9:00:00 AM -- [Visual Basic] Dim doc as XmlDocument = new XmlDocument() Dim tr as XmlTextReader = new XmlTextReader("Sample.xml") Dim reader as XmlValidatingReader = new XmlValidatingReader(tr) doc.Load(reader) [C#] XmlDocument doc = new XmlDocument(); XmlTextReader tr = new XmlTextReader("Sample.xml"); XmlValidatingReader reader = new XmlValidatingReader(tr); doc.Load(reader); |
-- 作者:frankdou -- 发布时间:11/10/2006 2:32:00 PM -- Java的 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); dbf.setAttribute( "http://java.sun.com/xml/jaxp/properties/schemaSource", "order.xsd"); DocumentBuilder parser = dbf.newDocumentBuilder(); Document doc = parser.parse("order.xml"); |
-- 作者:tony_1201 -- 发布时间:11/21/2006 10:40:00 AM -- 楼上的那段代码,怎么样才知道是验证通过呢,请指点 |
-- 作者:frankdou -- 发布时间:11/21/2006 10:47:00 AM -- 如果不符合schema的话,parse就抛异常了,而且会给出哪里校验出错。 |
-- 作者:tony_1201 -- 发布时间:11/21/2006 11:06:00 AM -- 我用完全不相同的结构的一个XSD和XML文件,也会通过 |
-- 作者:frankdou -- 发布时间:11/21/2006 11:15:00 AM -- 奇怪,我这里不是这样啊 public static void main(String[] args) throws Exception{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); dbf.setNamespaceAware(true); dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema"); dbf.setAttribute( "http://java.sun.com/xml/jaxp/properties/schemaSource", "Product.xsd"); Document doc = null; DocumentBuilder parser = dbf.newDocumentBuilder(); doc = parser.parse("product.xml"); } product.xsd <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.doulei.org/pd" xmlns:pd="http://www.doulei.org/pd"> <xsd:element name="Product" type="pd:productType" /> <xsd:complexType name="productType"> <xsd:sequence> <xsd:element name="title" type="xsd:string" /> <xsd:element name="price" type="xsd:double" /> </xsd:sequence> <xsd:attribute name="id" type="pd:productId" /> </xsd:complexType> <xsd:simpleType name="productId"> |
-- 作者:tony_1201 -- 发布时间:11/21/2006 11:26:00 AM -- 你把XML里随便删除一个元素,还是验证通过的,我刚试过了 |
-- 作者:tony_1201 -- 发布时间:11/21/2006 11:28:00 AM -- 这位兄弟,可以给个QQ号吗,我们QQ交流一下 |
-- 作者:frankdou -- 发布时间:11/21/2006 11:36:00 AM -- 我用QQ不方便,如果有msn加 neu_frank@hotmail.com。我最近才学schema,有空交流一下。 |
-- 作者:dandanyidian -- 发布时间:11/3/2007 4:01:00 PM -- 没懂什么意思! |
-- 作者:juventang -- 发布时间:9/24/2008 6:12:00 PM -- /// 阅读器的原理是检查一个文档是否是格式良好的,以及检查文档是否与架构吻合。 /// 如果带验证的阅读器发现一个有严重的格式错误的XML文档,只会触发XmlException异常,它不会触发其它的事件。 下面的方法用于验证XML文档是否符合架构 /// <summary> XmlReaderSettings booksSettings = new XmlReaderSettings(); ds = ClsDb.Retrieve(CommandType.Text, strSql.ToString(), "book"); //过滤掉不需要的节点<NewDataSet> //获取XML的stream //////////////////////////////////// //如果未提供事件ValidationEventHandler事件处理程序,则抛出一个XML异常 客户端使用: if (!vxml.ValidateXmlWithSchema(doc, "schema url")) } } |
-- 作者:xujian2009 -- 发布时间:12/14/2009 3:18:00 PM -- 写的很详细,有时间能交流交流吗? |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
152.344ms |