Có ai biết công cụ dòng lệnh để xác nhận hợp lệ XML với lược đồ XSD không?Công cụ xác thực lược đồ XML XSD
12
A
Trả lời
25
xmllint từ Libxml project
xmllint --schema schema.xsd doc.xml
3
Trên http://www.w3.org/XML/Schema trong "Công cụ", bạn nên tìm loại phù hợp với nhu cầu của mình. Tôi nghĩ đó là oNVDL.
-7
trong C#,
// xsv.cs
// ------------------------------------------------------------------
//
// Validate an XML document against a schema.
//
// last saved:
// Time-stamp: <2010-May-06 00:28:44>
// ------------------------------------------------------------------
//
// Copyright (c) 2010 by Dino Chiesa
// All rights reserved!
//
// ------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Schema;
using System.Reflection;
[assembly: AssemblyTitle("Cheeso.Tools.XmlSchemaValidator")]
[assembly: AssemblyDescription("Xml Schema Validator")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Dino Chiesa")]
[assembly: AssemblyProduct("Tools")]
[assembly: AssemblyCopyright("Copyright © Dino Chiesa 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.1.1.1")]
namespace Cheeso.Tools
{
public class XmlSchemaValidator
{
String _xsdfile;
String _xmlfile;
private void Validate()
{
List<String> validationErrors = new List<String>();
List<String> validationWarnings = new List<String>();
Action<object, ValidationEventArgs> handler = (obj, args) => {
if (args.Severity==XmlSeverityType.Warning)
validationWarnings.Add(args.Message);
else
validationErrors.Add(args.Message);
};
XmlTextReader tr = new XmlTextReader(_xmlfile);
XmlReaderSettings settings = new XmlReaderSettings
{
ValidationType = ValidationType.Schema
};
settings.Schemas.Add(null, _xsdfile);
settings.ValidationEventHandler +=
new ValidationEventHandler(handler);
XmlReader reader = XmlReader.Create(tr, settings);
XmlDocument xdoc = new XmlDocument();
xdoc.Load(reader);
// Check results
if (validationErrors.Count > 0)
{
validationErrors.ForEach(Console.WriteLine);
Console.WriteLine("The XML document is not valid, according to that Schema.");
}
else
{
if (validationWarnings.Count > 0)
{
validationWarnings.ForEach(Console.WriteLine);
}
Console.WriteLine("The XML document is valid, according to that Schema.");
}
}
public static void Usage()
{
Console.WriteLine("\nxsv: validate an XML document against an XML Schema.\n");
Console.WriteLine("Usage:\n xsv <xmldoc> <xmlschema>");
System.Environment.Exit(0);
}
public XmlSchemaValidator (string[] args)
{
for (int i=0; i < args.Length; i++)
{
if (args[i] == "-h" ||
args[i] == "--help" ||
args[i] == "-?")
{
Usage();
}
if (_xmlfile == null)
_xmlfile = args[i];
else if (_xsdfile == null)
_xsdfile = args[i];
else
Usage();
}
// default values
if (_xmlfile == null || _xsdfile == null)
Usage();
}
public static void Main(string[] args)
{
try
{
new XmlSchemaValidator(args)
.Validate();
}
catch (System.Exception exc1)
{
Console.WriteLine("Exception: {0}", exc1.ToString());
Usage();
}
}
}
}
+0
Câu hỏi dành cho công cụ dòng lệnh –
+3
Bạn đã đăng ví dụ này nhưng đặt "Tất cả các quyền" ở trên cùng? –
0
mono-xmltool, xem
- https://github.com/mono/linux-packaging-mono/blob/master/man/mono-xmltool.1
- http://manpages.ubuntu.com/manpages/jaunty/man1/mono-xmltool.1.html
ví dụ
mono-xmltool --validate-xsd schema.xsd doc.xml
Các vấn đề liên quan
- 1. Xác thực Xml bằng lược đồ XSD
- 2. xác thực lược đồ XML
- 3. Xác thực lược đồ XSD trong Ruby
- 4. Xác nhận lược đồ XSD bằng XSD
- 5. Tạo lược đồ Json từ lược đồ XML (XSD)
- 6. Xác thực lược đồ XML của XElement
- 7. Lỗi xác thực XML bằng lược đồ XSD lồng nhau - Loại không được khai báo
- 8. Tạo thể hiện XML từ lược đồ XML (xsd)
- 9. Làm cách nào để xác thực xml lớn đối với lược đồ xsd?
- 10. VS2010 có trình xác thực lược đồ xml không?
- 11. Xác nhận hợp lệ một XML dựa vào XSD trong Java/Bắt giữ lược đồ Location
- 12. Xác thực lược đồ XML đồng bộ? NET 3.5
- 13. Cách xác thực id email trong lược đồ xml
- 14. Xác thực lược đồ XML: cvc-complex-type.2.4.a
- 15. Chuyển đổi XSD sang lược đồ RDF
- 16. Xác thực XSD tự động
- 17. Làm cách nào để xác thực tệp xml dựa vào Lược đồ XSD bằng thư viện Amara bằng Python?
- 18. Lược đồ XML cho các lớp C++
- 19. Xác thực XML đối với XSD
- 20. Tôi có thể có một Lược đồ XML (XSD) bao gồm một Lược đồ XML khác không?
- 21. Xác thực Java xsd của xml không có vùng tên
- 22. Xác thực xml dựa trên xsd với JS/jQuery
- 23. Công cụ C++ để tạo các tệp XML ngẫu nhiên từ Lược đồ XML?
- 24. lỗi xác thực lược đồ xml "tiền tố không bị ràng buộc"
- 25. Có một công cụ để tạo một lược đồ JSON từ một lược đồ XML thông qua Java không?
- 26. Tắt xác thực XSD của các tệp mùa xuân
- 27. Tự động đính kèm tệp XML vào lược đồ XSD trong Visual Studio?
- 28. Có một lược đồ XML chính thức (xsd) cho EDI X12 856 không?
- 29. Lược đồ XSD mới trong Hibernate 4
- 30. Visual Studio 2010: Lược đồ XML XSD cho các lớp trong IDE
Bất kỳ cách nào để tránh việc để xác định lược đồ? (vì nó đã được chỉ định trong chính XML như là 'xsi: schemaLocation' ...) – Will
-valid tùy chọn để xác nhận hợp lệ lược đồ với xml được chỉ định bên trong, nhưng tôi nghĩ - cũng cần phải có. –