首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-05-07 
XML--请问,空元素为什么不报错?xml version1.0 encodinggb2312?!DOCTYPE 工程 [!ELEMENT 工程 (

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

热点排行