Tag: xml

按照加载巨大XML文件的进度

我尝试在dotnet(C#,framework 3.5 SP1)中跟踪大型XML文件(我不是这些文件的提供者)的加载进度:通过网络文件共享从1 MB到300 MB。 我使用XmlReader进行加载而不是直接使用XmlDocument.Load方法来加速加载过程。 顺便说一句,我在互联网/文档上找不到如何遵循这个加载进度:似乎没有代表/事件存在。 有没有办法执行这项任务? 具有用于XML保存目的的那种function可能是一件好事。 谢谢

以UTF-16编码格式反序列化xml文件时出现XmlException

使用C#的XmlSerializer。 在反序列化给定文件夹中的所有xml文件的过程中,我看到XmlException “There is an error in XML document (0, 0)”. 和InnerException是”There is no Unicode byte order mark. Cannot switch to Unicode”. 目录中的所有xmls都是“UTF-16”编码的。 唯一不同的是,一些xml文件缺少在反序列化时我正在使用的对象类中定义的元素。 例如,考虑我的文件夹中有3种不同类型的xmls: file1.xml file2.xml file3.xml 我有一个类代表上面的xml: [XmlTypeAttribute(AnonymousType = true, Namespace = “http://my.PaymentStatus”)] [XmlRootAttribute(“PaymentStatus”, Namespace = “http://http://my.PaymentStatus”, IsNullable = true)] public class PaymentStatus { private PaymentStatus2[] PaymentStatus2Field; [XmlElementAttribute(“PaymentStatus2”, Namespace = “”)] public PaymentStatus2[] […]

使用xml名称空间前缀C#搜索XML元素

更新 我想要一个表达式(XPath,或类似的Regex表达式),它可以将XML元素与特定的命名空间相匹配。 例如,我想找到链接元素的值(例如,我需要http://url within http://url)如下所示。 但是,名称空间前缀根据不同的xml文件而有所不同,如案例1-3所示。 考虑到名称空间前缀允许的字符(例如,任何字符允许/有效),任何人都可以提供解决方案(XPath,正则表达式或类似的? 请注意,因为xml文件是未知的,所以命名空间和前缀在运行时之前是未知的。 这是否意味着我不能使用这个XDocument / XmlDocument,因为它需要在代码中知道命名空间。 更新 情况1 http://url 案例2 http://url 案例3 http://url 请注意,link元素中的url可以是任何http url,并且在运行时之前是未知的。 更新 请标记我的问题。

如何在C#中查找XSD根元素

美好的一天。 我所知。 XML文件中有一个根元素。 但是从XSD文件结构来看,获取根元素值并不容易。 有没有办法做到这一点? (我不想在我的项目中使用硬代码来查找XSD根元素值。我想找到“RootValueHere”的根元素 谢谢。

使用XmlDocument.LoadFromUriAsync(UrlString)读取XML?

我试图阅读一些XML,并希望使用下面的代码阅读它,因为这是一个地铁Windows 8应用程序。 我可以使用一些帮助,但如何解析每个节点/元素等谢谢! private void Button_Click(object sender, RoutedEventArgs e) { Uri UrlString = new Uri(“http://v1.sidebuy.com/api/get/73d296a50d3b824ca08a8b27168f3b85/?city=nashville&format=xml”); var xmlDocument = XmlDocument.LoadFromUriAsync(UrlString); text1.Text = xmlDocument.ToString(); }

具有多个命名空间的DataContractSerializer

我正在使用DataContractSerializer将对象序列化为XML。 主要对象是带有命名空间“ http://personaltrading.test.com/ ”的SecurityHolding,它包含一个名为Amount的属性,它是一个名为“ http://core.test.com ”的类。 当我将其序列化为XML时,我得到以下内容: 1.05 USD 0 3681 无论如何我可以控制d3p1前缀吗? 我做错了什么或者我应该做别的事吗?

使用LINQ从XML文件中选择元素

我有这个XML结构: My Work Main Building 1 relativeToGround Office 1 1 relativeToGround 这继续…… 我需要为每个建筑物选择建筑物“名称”并将其存储在列表中。 我写了这段代码: using System; using System.Linq; using System.Xml; using System.Xml.Linq; using System.Collections.Generic; namespace dsdsdsds { public class Building { public string BuildingName { get; set; } } class MainClass { public static void Main(string[] args) { List buildingNames = (from e in XDocument.Load(“buildings.kml”).Root […]

如何使用LINQ解析可选或空的XML元素和属性?

我有以下类型的XML: 通过这个XML,我希望填充以下objectList。 List objFunctionsList = new List(); 其中Function类如下, public class Function { public String Name { get ; set; } public Parameter ReturnType { get; set; } public List Parameters { get; set; } public String Library { get; set; } public String Signature { get; set; } public String Description { get; set; } […]

从具有混合XML和纯文本的流中读取

我有一个文本流,包含任意纯文本和格式良好的xml元素的段。 我怎样才能读取它并仅提取xml元素? 将ConformanceLevel设置为Fragment的XmlReader在遇到纯文本时仍会引发exception,因为它是格式错误的xml。 有任何想法吗? 谢谢 到目前为止,这是我的代码: XmlReaderSettings settings = new XmlReaderSettings(); settings.ConformanceLevel = ConformanceLevel.Fragment; using (XmlReader reader = XmlReader.Create(stream, settings)) while (!reader.EOF) { reader.MoveToContent(); XmlDocument doc = new XmlDocument(); doc.Load(reader.ReadSubtree()); reader.ReadEndElement(); } 这是一个示例流内容,我无法控制它: Found two objects: Object a a Object b b

将XDocument转换为Stream

如何将XDocument中的XML转换为MemoryStream,而不将任何内容保存到磁盘?