初学XML,请问写了XML和DTD(或XML Schema),用什么工具来验证XML符合DTD的定义啊

chengwei_xj 2005-04-29 02:10:30
用解析器吗
大家一般都是怎么验证的啊
我初学,用Ultraedit来编辑XML和DTD文档.
还有,在IE6.0中是不是只验证XML文档是不是格式正规的,不验证是不是符合DTD或XML Schema的要求啊???
谢了!!!
...全文
604 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
broadury 2005-05-18
  • 打赏
  • 举报
回复
用.Net 自己写一个,很容易的
lark3 2005-05-14
  • 打赏
  • 举报
回复
xmlwriter
l506345z 2005-05-12
  • 打赏
  • 举报
回复
chengwei_xj 2005-05-08
  • 打赏
  • 举报
回复
北罗师门,
好像IE只进行结构验证,不进行DTD的验证吧,我试了试是这样的

看来得搞个XMLSpy了
l506345z 2005-05-06
  • 打赏
  • 举报
回复
MSXML解析器是ie5.0的一部分.在ie中打开parse.html在url中输入你要解析的文件名即可
l506345z 2005-05-06
  • 打赏
  • 举报
回复
对xml文件使用的语法进行检查的软件,有两种:
一是:非有效性解析器,这类解析器检查xml文档是否符合结构良好的文档规则.Expat解析器就是其中的一种.下载地址:ftp://ftp.jclark.com/pub/xml/expat.zip
在命令行内输入以下命令:xmlwf xmlfilename
xmlfilename是xml的文档名称
二是:有效性解析器,除了检验结构是否良好,还检查它是否符合所套用的dtd规则.有Microsoft的MSXML解析器,IBM Java解析器,Xerces Java解析器都可以进行有效性检验.可以到网上搜一下.就能找到
huangkw007 2005-05-04
  • 打赏
  • 举报
回复
xmlspy不难,别怕呵呵.而且表现形式很容易让人理解,使用不使用工具不是初学不初学的区别,是人与动物的区别(:
samkuang 2005-04-30
  • 打赏
  • 举报
回复
xmlspy验证格式化有有效性的xml文档
kaixin110 2005-04-29
  • 打赏
  • 举报
回复
xml spy
chengwei_xj 2005-04-29
  • 打赏
  • 举报
回复
谢谢楼上两位

没用过XML SPY
有没有什么简单的工具,行命令的也行
我觉得刚开始学,简单的比较好上手,而且可以更专著


火电 2005-04-29
  • 打赏
  • 举报
回复
XMLSPY 只是验证xml格式是否正确


要在后台处理

public bool ValidXmlStructureByXSD(string strFullXmlName, string strFullXsdName, ref string strReturnValue)
{
string strResult = string.Empty;
string strXsdName = Path.GetFileName(strFullXsdName);
StringWriter stringWriter = new StringWriter();

FileStream xmlStream=new FileStream(strFullXmlName, FileMode.Open);
XmlValidatingReader xmlValidatingReader = null;
try
{
try
{
g_validXmlReader = new XmlTextReader(xmlStream);
xmlValidatingReader = new XmlValidatingReader(g_validXmlReader);
xmlValidatingReader.Schemas.Add(XmlSchema.Read(new XmlTextReader(strFullXsdName), null));
xmlValidatingReader.ValidationType = ValidationType.Schema;
xmlValidatingReader.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
g_validXmlWriter = new XmlTextWriter(stringWriter);
g_validXmlWriter.Formatting = Formatting.Indented;
g_validXmlWriter.Indentation = 2;
g_validXmlWriter.WriteRaw("<?xml version=\"1.0\" encoding=\"gb2312\" ?>");
g_validXmlWriter.WriteStartElement("错误列表");
g_validXmlWriter.WriteAttributeString("SchemaName", strXsdName);
while (xmlValidatingReader.Read());
g_validXmlWriter.WriteEndElement();
strResult = stringWriter.ToString();
}
catch (Exception ex)
{
strResult = ex.Message;
}
}
finally
{
xmlValidatingReader.Close();
g_validXmlWriter.Close();
}
strReturnValue = strResult;
return bIsValidate;
}

private void ValidationCallback(object sender, ValidationEventArgs args)
{
bIsValidate = false;
g_validXmlWriter.WriteStartElement("错误信息");
int local0 = g_validXmlReader.LineNumber;
g_validXmlWriter.WriteElementString("错误所在行数", local0.ToString());
local0 = g_validXmlReader.LinePosition;
g_validXmlWriter.WriteElementString("错误所在位置", local0.ToString());
g_validXmlWriter.WriteElementString("详细信息", args.Message);
g_validXmlWriter.WriteEndElement();
}
yjs_lh 2005-04-29
  • 打赏
  • 举报
回复
很多工具都可以验证,建议使用XMLSPY。
IE6不会验证是否符合Schema

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧