读书人

XML-请教空元素为什么不报错

发布时间: 2012-05-07 12:40:40 作者: rapoo

XML--请问,空元素为什么不报错
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE 工程 [
<!ELEMENT 工程 (项目,负责人)>
<!ELEMENT 项目 (#PCDATA)>
<!ELEMENT 负责人 (#PCDATA)>
]>
<工程>
<项目>
咳咳咳
</项目>
<负责人/>
</工程>


上面XML文档中,内部DTD声明元素中,负责人的元素类型是#PCDATA,可是下面是写的<负责人/>,是个空元素,为什么不报错呢?空元素不是EMPTY吗?

[解决办法]
如果你没有采用dtd验证,是不会报错的

[解决办法]

C# code
using System;using System.Xml;using System.Xml.Schema;using System.IO;public class Sample {  public static void Main() {    // Set the validation settings.    XmlReaderSettings settings = new XmlReaderSettings();    settings.ProhibitDtd = false;    settings.ValidationType = ValidationType.DTD;    settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);     // Create the XmlReader object.    XmlReader reader = XmlReader.Create("itemDTD.xml", settings);    // Parse the file.     while (reader.Read());      }  // Display any validation errors.  private static void ValidationCallBack(object sender, ValidationEventArgs e) {    Console.WriteLine("Validation Error: {0}", e.Message);  }}
[解决办法]
强烈建立楼主下一个xml schema看看,
下下来看看清楚明白了,,再不懂得就发帖问问就可以了。。。。

http://www.jb51.net/books/11609.html

读书人网 >C#

热点推荐