Tag: xml

.NET:如何在没有DOCTYPE声明的情况下使用DTDvalidationXML文件

我有一个没有DOCTYPE声明的XML文件,我想在读取时使用外部DTDvalidation。 Dim x_set As Xml.XmlReaderSettings = New Xml.XmlReaderSettings() x_set.XmlResolver = Nothing x_set.CheckCharacters = False x_set.ProhibitDtd = False x = XmlTextReader.Create(sChemin, x_set) 如何设置外部DTD的路径? 你如何validation?

使用Schematron / XSD在C#中进行XMLvalidation

我一直在寻找一种方法来对XML文档进行更高级的业务规则validation。 到目前为止,Schematron似乎能够做到,我需要什么。 我一直在四处寻找,我发现的少数几个图书馆已经很老了,而且似乎不再支持了。 Schematron在2002年只是“热门”吗? 有没有可以在C#中进行validation的库 – 或者我该怎么做? 或者是否有其他人可以进行高级validation并拥有C#库并且是标准化的?

使用C#解析SVG“path”元素 – 有没有库可以做到这一点?

我正在用C#编写一个基本上读取SVG文件的程序,并对内容做了一些有用的事情。 我将使用的最复杂的数据是路径。 他们采取如下forms: 在这种情况下,M,h,v,H,V和z表示一些命令。 在某种程度上,它们就像函数一样,跟随它们的数字是参数。 还有一些更复杂的: 在这种情况下,“c”命令后跟6个参数(第一种情况下为-2.232,1.152,-6.913,2.304,-12.817和2.304)。 你可以看到这可能变得棘手。 我的问题是:SO社区是否知道任何现有的库将这些数据读入一些有用的ADT? 在我编写所有内容并编写大量字符串解析函数之前,我真的不想重新发明轮子。 此外,任何建议将不胜感激。 我知道如何阅读XML文档,这不是问题。

如何使用C#中的inheritance类实现Xml序列化

我有两个类:基类名称Component和名为DBComponent的inheritance类 [Serializable] public class Component { private string name = string.Empty; private string description = string.Empty; } [Serializable] public class DBComponent : Component { private List spFiles = new List(); // Storage Procedure Files [XmlArrayItem(“SPFile”, typeof(string))] [XmlArray(“SPFiles”)] public List SPFiles { get { return spFiles; } set { spFiles = value; } } public DBComponent(string […]

无法加载文件或程序集’DocumentFormat.OpenXml

我一直得到这个错误是VS2013 Could not load file or assembly ‘DocumentFormat.OpenXml, Version=2.0.5022.0, Culture=neut ral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 在我的web.config中 **** 我试图插入windowsbase和许多其他东西。 我有搜索和搜索解决方案,任何人都知道如何解决它?

使用c#Xdocument类添加子节点

我有一个xml文件,如下所示。 我想添加子元素文件:使用xDocument.So的字符,我的最终xml将如下所示 value0 Description0 value1 Description1 下面给出了使用Xdocument类尝试的c#中的代码。 XNamespace ns = “test”; Document = XDocument.Load(Folderpath + “\\File.test”); if (Document.Descendants(ns + “Characters”) != null) { Document.Add(new XElement(ns + “Character”)); } Document.Save(Folderpath + “\\File.test”); 在行“ Document.Add(new XElement(ns + “Character”)); ”,我收到一个错误: “This operation would create an incorrectly structured document.” 。 如何在“ file:Characters ”下添加节点。

C#在没有的情况下创建XML输出文件

我是C#开发的新手,所以这里可能是一个非常简单的问题。 我正在尝试获得一个以此开头的输出: 但是得到这个: 这是我的来源: XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.IndentChars = ” “; settings.NewLineChars = “\r\n”; settings.NewLineHandling = NewLineHandling.Replace; using (XmlWriter writer = XmlWriter.Create(“employees.xml”, settings)) { writer.WriteStartDocument(); writer.WriteStartElement(“ns0”); writer.WriteStartElement(“Firstsection”); 我怎么能摆脱: 我怎么能改变: writer.WriteStartElement(“ns0”); 能够输出为: 这样: writer.WriteStartElement(“ns0:NamespaceEnvelope xmlns:ns0=”http://url.to.NamespaceEnvelope/v1.0″”); 要求“)”可能是因为“围绕http部分。 任何帮助都非常感谢。

不能将Descendants()或Elements()与xmlns一起使用

我是使用XML的新手,在尝试从spring.net配置文件中获取特定标记时遇到了一个奇怪的问题。 在尝试使用测试xml文件缩小问题范围后,我发现应用以下代码: List nodes = xmlFile.Descendants(“B”).ToList(); 提供包含以下文件的非空列表: 但是提供带有以下文件的空字符串: 作为属性的文件之间的唯一区别。 我无法想象对此的解释。 谢谢你的帮助。

XslCompiledTransform使用UTF-16编码

我有以下代码,我想使用UTF-8编码格式输出xml数据。 但它始终以UTF-16输出数据: XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load(XmlReader.Create(new StringReader(xsltString), new XmlReaderSettings())); StringBuilder sb = new StringBuilder(); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.Encoding = Encoding.UTF8; writerSettings.Indent = true; xslt.Transform(XmlReader.Create(new StringReader(inputXMLToTransform)), XmlWriter.Create(sb, writerSettings));

如何使用LINQ在XML中按名称获取元素

我在这里选择了标题,因为我的问题是需要获取示例中提到的Item节点。 我有以下XML,并且使用LINQ查询它时遇到问题,我之前已经能够解析XML了 – 但是我已经坚持了几个小时并希望有人可以提供帮助。 以下是我的XML数据(示例数据): 98765 Data Catalogue 123456 Item One 654321 Item Two 123456 Item One 654321 Item Two Catalogue 我希望能够从Items下的Item XML标签中提取ID,但是在数据下面有一个带有Item条目的Items Tag我根本不想要这些节点 – 如果表达了我想要root / items / id / id作为道路。 我已经尝试过LINQ的所有知识,所以如果有人可以提供帮助,需要注意的事项虽然这是基于系统的示例数据 – 格式无法更改,因此这不是一个可接受的解决方案。 我似乎无法确定我出错的地方 – 我尝试的每个LINQ表达式都没有返回任何内容,我认为命名空间是一个问题,并且已经尝试集成这个,但我要进入圈子。 解决方案必须在Silverlight和C#中工作 我尝试过以下方法: IEnumerable nodes = element.Elements().Where(e => e.Name.LocalName == “items”) 然而,这让我得到了所有“项目”,包括“数据”下的那些我不想要那些。 如果我在XML上执行以下操作,我会看到显示的元素名称: XElement element = XElement.Parse(data); foreach […]