一个关于XML文件校验和读取的问题

acqy 2007-04-18 10:26:27
我打算做一个自定义格式的xml配置文件,然后在程序中读取这个xml配置文件,这个配置文件有一定的格式,就像NHibernate中的NHibernate.Cfg.Xml文件类似。那么就要解决:1、格式验证,2、读取节点的属性和值。

在C#中如何做到呢?是用xml schema吗?是用xsd文件吗?还是自己写解释器?

对xml不是很了解。请指教!
...全文
317 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
acqy 2007-04-20
  • 打赏
  • 举报
回复
。。。。。。

我不是说xml这个namespace如何用,我只是不知道如何才能够快速准确的解析xml文件中的语义。比如说:
<sessions default="session1">
<session name="session1" value="" />
<session name="session2" value="" />
</sessions>
类似这样的部分,其中sessions的default属性值必须是下面所有session中某个session的name,难不成除了使用XmlNode之类的一步步读取xml文件,一步步解析,然后一步步判断外,没有其它办法了吗?
如果可以使用xml validate或者xsd之类的话,如何使用呢?
JavaK 2007-04-19
  • 打赏
  • 举报
回复

using System;
using System.IO;
using System.Xml;

public class Sample {

public static void Main() {

XmlDocument doc = new XmlDocument();
doc.LoadXml("<book xmlns:bk='urn:samples' bk:ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>");

XmlNode root = doc.FirstChild;

//Create a new attribute.
string ns = root.GetNamespaceOfPrefix("bk");
XmlNode attr = doc.CreateNode(XmlNodeType.Attribute, "genre", ns);
attr.Value = "novel";

//Add the attribute to the document.
root.Attributes.SetNamedItem(attr);

Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);

}
}
JavaK 2007-04-19
  • 打赏
  • 举报
回复
在MSDN中看看,XmlDocument,XmlNode,XmlAttribute, 和看看XPath就知道了,很简单的。
zhqs1000 2007-04-19
  • 打赏
  • 举报
回复
.net 对解析xml是很强的。看看 system.xml那个类

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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