Tag: xml

代码背后的绑定属性

我有WPF应用程序和一个窗口。 让我的xml中有这样的东西: 让我们说我不能使用xml来创建BottomLabel和TitleLabel 。 所以我必须在我的“Code behind”中创建BottomLabel作为属性。 如何在我的代码后面为Bottom标签的Content属性指定相同的绑定? 有可能吗? 所以我会有这样的事情: public Label TitleLabel {get; private set;} public Label BottomLabel {get; private set;} public MyClass(){ TitleLabel = new Label(); TitleLabel.Content = “Some title”; BottomLabel = new Label(); BottomLabel.Content = // ?? what should be here ? How do I specify the binding // that binds BottomLabel.COntent to […]

如何防止System.Xml.XmlException:给定编码中的字符无效

我有一个用C#编写的Windows桌面应用程序,它循环存储在磁盘上并由第三方程序创建的一堆XML文件。 大多数所有文件都由此语句后面的LINQ代码成功加载和处理: XDocument xmlDoc = XDocument.Load(inFileName); List docList = (from d in xmlDoc.Descendants(“DOCUMENT”) select new DocMetaData { File = d.Element(“FILE”).SafeGetAttributeValue(“filename”) , Folder = d.Element(“FOLDER”).SafeGetAttributeValue(“name”) , ItemID = d.Elements(“INDEX”) .Where(i => (string)i.Attribute(“name”) == “Item ID(idmId)”) .Select(i => (string)i.Attribute(“value”)) .FirstOrDefault() , Comment = d.Elements(“INDEX”) .Where(i => (string)i.Attribute(“name”) == “Comment(idmComment)”) .Select(i => (string)i.Attribute(“value”)) .FirstOrDefault() , Title = d.Elements(“INDEX”) […]

加载到XDocument时如何解析实体?

我正在尝试将XHTML文档加载到XDocument中,但我得到了“对未声明的实体的引用”exception抛出。 我需要解决像®这样的实体® 和» 。 我相信我的文件是正确形成的,这是头部: 当我执行XDocument.Load()时,我正在抛出这些exception。

在C#中解析XML文档

重复:这是用C#解析xml文件的最佳实践的副本? 和许多其他人(见https://stackoverflow.com/search?q=c%23+parse+xml )。 请关闭它,不要回答。 如何从C#自下而上解析XML文档? 例如 : Test 123 ABC test@ABC.com 像这些有很多节点..我需要从下往上开始解析像…第一次解析然后依此类推。如何在C#中解决这个问题?

如何在使用传统SOAP服务时创建自定义XML命名空间属性?

我有一个传统的Tibco SOAP服务,我需要从中获取一些数据。 不幸的是,这项服务非常特别关于请求消息上的XML命名空间属性。 在使用PeopleSoft( https://en.wikipedia.org/wiki/PeopleCode )的服务时,我也遇到了这类问题。 我从服务中获得了.wsdl并创建了一个服务引用。 开箱即用,.Net生成的XML请求消息是: SysAdmin 123 Main St New York NY US 实际上是什么(我用SoapUI想出来): SysAdmin 123 Main St New York NY US 请注意body标记中缺少xsi和xsd前缀。 问:如何让.Net发送正确的XML,而不是手动滚动XML文档并手动将其发送到服务?

使用CData部分包装属性 – XML序列化C#

我需要以这样的方式序列化我的对象,使我想要的属性绕过CData部分。 我希望我能做到这样的事情: public class Order { [JsonProperty] public int OrderId { get; set; } [JsonProperty] public string Name { get; set; } [JsonProperty] public int Type { get; set; } [JsonProperty] public decimal Amount { get; set; } [JsonProperty] public DateTime Date { get; set; } [DataMember] [JsonProperty] **[WrapCData]** public List ListB { get; set; […]

在没有try / catch的情况下检查格式良好的XML?

有没有人知道如何检查字符串是否包含格式良好的XML而不使用try / catch块中的XmlDocument.LoadXml() ? 我有输入可能是也可能不是XML,我希望代码能够识别输入可能不是XML而不依赖于try / catch,速度和非特殊情况不应该提高的一般原则例外。 我目前有代码执行此操作; private bool IsValidXML(string value) { try { // Check we actually have a value if (string.IsNullOrEmpty(value) == false) { // Try to load the value into a document XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(value); // If we managed with no exception then this is valid XML! return […]

使用Linq查询记录的Xml文件

以下是我的xml文件。 我必须为每个页面提供字段,并为逗号分隔字符串中的每个类型提供字段。 请帮助您了解如何使用Linq 示例:如果我想为“page1”定义“Type = customFields”,则必须以逗号分隔的ProjectID,EmployeeID,EmployeeName,hasExpiration等输出 ProjectID EmployeeID EmployeeName HasExpiration EndDate ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit ProjectID EmployeeID EmployeeName HasExpiration EndDate IsInUpdateMode TimesheetSpendLimit

使用StringReader与XmlNodeReader反序列化对象属性

为什么XmlSerializer在使用XmlNodeReader反序列化空类型元素而不是像使用StringReader (或XmlTextReader )时那样的空字符串时,用XmlNode数组填充我的对象属性? 以下代码示例中的第二个断言失败: var doc = new XmlDocument(); doc.Load(new StringReader(@” “)); var ser = new XmlSerializer(typeof (Test)); var reader1 = new StringReader(doc.InnerXml); var obj1 = (Test) ser.Deserialize(reader1); Debug.Assert(obj1.Value is string); var reader2 = new XmlNodeReader(doc.FirstChild); var obj2 = (Test) ser.Deserialize(reader2); Debug.Assert(obj2.Value is string); public class Test { public object Value { get; set; } […]

指定XmlRootAttribute时XmlSerializer性能问题

我目前有一个非常奇怪的问题,我似乎无法弄清楚如何解决它。 我有一个相当复杂的类型,我正在尝试使用XmlSerializer类进行序列化。 这实际上运行正常,类型序列化正确,但似乎需要很长时间这样做; 大约5秒,具体取决于对象中的数据。 经过一些分析后,我把问题缩小了 – 奇怪的是 – 在调用XmlSerializer.Serialize时指定一个XmlRootAttribute。 我这样做是为了将从ArrayOf序列化的集合的名称更改为更有意义的东西。 一旦我删除参数,操作几乎是即时的! 任何想法或建议都会非常好,因为我完全被这个问题所困扰!