草庐IT

$序列化

全部标签

.net - 多态 XML 序列化/反序列化

我有:publicclassB{publicstringSome{get;set;}}publicclassD:B{publicstringMore{get;set;}}[KnownType(typeof(D))]publicclassX{publicB[]Col{get;set;}}我想像这样自动读/写XML:XmlSerializer和DataContractSerializer都没有帮助我。此XML结构是强制性的。所以问题是:这可以实现还是我必须手动解析该XML?谢谢,安德烈 最佳答案 尝试XmlArrayItem使用XmlS

c# - 使用 XML 序列化反序列化数组时不期望元素

好的。我正在尝试与PivotalTrackerAPI进行通信,它只返回XML格式的数据。我尝试将以下XML反序列化到我的域模型中。290913768153bughttp://www.pivotaltracker.com/story/show/2909137unscheduledTest#2AnthonyShaw2010/03/2320:05:58EDT2010/03/2320:05:58EDT290913568153featurehttp://www.pivotaltracker.com/story/show/2909135-1unscheduledTest#1AnthonyShaw2

c# - 将自定义对象序列化为 XML

我正在尝试创建一个可以序列化以生成以下XML的类:..等等我有一个看起来像这样的类:[XmlRoot("chart")]publicclassChart{[XmlAttributeAttribute("palette")]publicstringPalette;[XmlElement("categories")]publicListCategories=newList();}[XmlRoot("category")]publicclassCategory{[XmlAttributeAttribute("label")]publicstringLabel;}但是,这不会产生所需的char

c# - 如何通过 .NET 验证 xml 代码文件? + 如果我使用 XML 序列化,我该怎么做?

我希望用户能够将数据导出为XML文件。当然,我希望他们以后能够导入同一个XML文件,但是他们总是可以更改它或者它可以是不同的XML文件。所以我想验证XML文件以检查它是否是我期望的格式。所以我想我需要类似模式的东西来检查它是否必须通过代码。所以如果我期望我不希望文件中出现我期望的格式以外的其他格式。另外,我将如何验证字段?就像说我要求标签之间必须有一些文本。如果为空,则文件无效。那我该怎么做呢?编辑我决定使用XML序列化,所以我知道如果格式错误,它将通过异常处理并忽略不起作用的内容。但是我不确定我应该通过它和C#来验证每条记录,还是应该尝试制作一个xml模式来完成它。如果我想通过带有x

c# - 带有 XML 序列化的不需要的属性名称

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:RemovingWrapperElementsfromXML-SerializedArray这很难解释,所以我提供了一个问题示例。我有一个包含子类列表的父类。当我序列化父类时,我得到了我的子类,但它们位于具有公共(public)属性名称的元素下。额外的水平不是我需要的。我尝试将XmlIgnore属性添加到属性名称,但这抑制了属性名称及其包含的发票集合的所有内容。父类:[XmlRoot("header")]publicclassLynx:INotifyPropertyChanged{#region/*--Cla

xml - WCF:序列化?流媒体?

我需要了解WCF在发送消息时是如何工作的。WCF在发送之前是否序列化所有内容?我的另一个问题是使用Streaming有什么好处?更大的消息是否更好,比如说1Mb到2Mb?我可以发送一个序列化的复杂对象,然后能够在流式传输后轻松地在另一端反序列化它吗(复杂对象我的意思是一个可以动态的图像列表),或者我是否需要使用XML之类的东西来格式化它?这里的主要问题是,我不知道在使用WFC流式处理时,我是否需要在发送之前先序列化消息...难道WFC不应该在发送之前序列化所有内容吗?我知道的很笼统,但我需要弄清楚这些概念。干杯 最佳答案 是的,除了

.net - XML 序列化丢失命名空间

我有如下CRM实体XML消息:....SomethingHere...然后我将它反序列化为一个对象并序列化回xml我明白了SomethingHere...我松开了xmlns:b的定义。知道为什么吗? 最佳答案 四十二是正确的:属性值不携带任何默认语义,因此xml处理器无法识别命名空间的使用。如果你想在你的i:type属性中引用一些b数据,你可以使用一个映射元素来关联c:value带有(假设的)b:value,即:..................您可以在其中将_:ref声明为相应xml模式中的IDREF属性。您可能需要调整1:n-

XML Schema 具有不同类型的相同元素在不同序列中的选择导致类型错误

我继承了2004年最后一次更新的一些XML模式。从那时起它一直在工作,但软件更新导致了一些问题。XML不再在XMLspy中验证。无论如何,问题似乎是当前通过定义多个具有不同名称的不同simpleType来定义元素的方法是不正确的。我不明白如何解决这个问题。使用XMLspy2004打开文件,xml验证正常。用latesXMLspy打开文件我得到以下错误:Element'Element'isnotconsistentwithelement'Element'.Details:cos-element-consistent.2:Bothtypedefinitions('type2'and'typ

c# - XML 反序列化和 XPath?

我有这样的Xml...Snip....MRJohnWayne.....Snip...其中CitizenName是Party节点中的复杂类型。(这是从我正在为其创建适配器的第3方集成接收到的xml)我对在我的类中尝试反序列化为我宁愿拥有的子类型不感兴趣。publicclassParty{publicstringFirstName{get;set;}publicstringLastName{get;set;}}因此,与其将我的类定义作为XML表示的内容的具体定义,不如用XPath之类的东西来装饰属性,例如。[XmlElement("\CitizenName\CitizenNameForeN

XMLUnit 比较 Xml 忽略序列

我需要比较2个XML,我正在使用我的自定义差异监听器忽略子节点序列和属性列表序列:if(difference.getId()==DifferenceConstants.CHILD_NODELIST_SEQUENCE_ID||difference.getId()==DifferenceConstants.ATTR_SEQUENCE_ID)returnDifferenceListener.RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL;我的代码适用于:和但是我需要它来考虑这些XML也是相同的:ABC.....DEF.....和DEF.....ABC....