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