gpt4 book ai didi

c# - 呈现 xml 验证错误

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:14 26 4
gpt4 key购买 nike

我正在尝试这样做:我有一个 XML 文件,我想根据 XSD 文件对其进行验证。到目前为止,上帝...我要做的是显示验证错误所在的所有节点。

例如我有这个 XML 文件:

<people>
<name>Jonh</name>
<tel>91991919199191919</tel>
</people>

当我验证此文件时,这将在 tel 节点中出现错误。我想向我的应用程序的最终用户展示名称,以及 XML 中的错误。

我正在尝试在 C#.NET 中执行此操作。

感谢您的帮助...

最佳答案

此代码根据 XSD 文件验证 XML 文件并返回带有行号的错误。

public static void ValidateXML(Stream stream)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("", "yourXSDPath");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(stream, settings);
XmlDocument document = new XmlDocument();
document.Load(reader);
ValidationEventHandler eventHandler = new ValidationEventHandler(ValidationEventHandler);
document.Validate(eventHandler);
reader.Close();
}

static void ValidationEventHandler(object sender, ValidationEventArgs e)
{}

try
{
ValidateXML(yourXMLStream);
}

catch (XmlSchemaValidationException ex)
{
Console.WriteLine(String.Format("Line {0}, position {1}: {2}", ex.Message, ex.LineNumber, ex.LinePosition));
}

关于c# - 呈现 xml 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com