第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 XML 反序列化中將 XML 節(jié)點的值設置為 C# 模型上的字段

在 XML 反序列化中將 XML 節(jié)點的值設置為 C# 模型上的字段

C#
qq_遁去的一_1 2022-12-24 14:29:20
我希望正確反序列化一些 XML。部分 XML 如下所示:<Keys>    <Key>        <Name>Test 1</Name>        <KeyValues>            <KeyValue Offered="true" Order="1">One</KeyValue>            <KeyValue Offered="true" Order="2">Two</KeyValue>            <KeyValue Offered="true" Order="3">Three</KeyValue>            <KeyValue Offered="true" Order="4">Four</KeyValue>        </KeyValues>                                </Key>                          <Key>        <Name>Test 2</Name>        <KeyValues>            <KeyValue Offered="true">One</KeyValue>        </KeyValues>                                </Key></Keys>我想將其中的每個 KeyValue 反序列化為如下所示的 C# 對象:public class KeyValue{    public string Value { get; set; }    [XmlAttribute]    public int Order { get; set; }    [XmlAttribute]    public bool Offered { get; set; }}這是(大致)我用來反序列化的代碼:XmlSerializer serializer = new XmlSerializer(typeof(MyObject));using (TextReader reader = new StringReader(xml)){    myObject = (MyObject)serializer.Deserialize(reader);}這幾乎可以正常工作。沒有拋出異常并且正確設置了 Order 和 Offered,但我希望我的 XML 中的 KeyValues 中的一、二、三等進入我的模型的值字段。這可能嗎?如果是這樣,我該怎么做?
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻1807條經(jīng)驗 獲得超9個贊

在根據(jù) Robert Harvey 的評論查看該網(wǎng)站后,我意識到我缺少的是[XmlText]我的 Value 字段的屬性。我補充說,測試,它工作。



查看完整回答
反對 回復 2022-12-24
?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

在這種情況下我不會使用序列化,因為它需要我的類然后其他方法。請參閱下面的 xml linq 解決方案:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml;

using System.Xml.Linq;


namespace ConsoleApplication110

{

    class Program

    {

        const string FILENAME = @"c:\temp\test.xml";

        static void Main(string[] args)

        {

            XDocument doc = XDocument.Load(FILENAME);


            List<Key> keys = doc.Descendants("Key").Select(x => new Key()

            {

                Name = (string)x.Element("Name"),

                Values = x.Descendants("KeyValue").Select(y => new KeyValue() {

                    Value = (string)y,

                    Offered = (bool)y.Attribute("Offered"),

                    Order  = (int?)y.Attribute("Order")

                }).ToList()

            }).ToList();

        }


    }

    public class Key

    {

        public string Name { get; set; }

        public List<KeyValue> Values { get;set;}

    }

    public class KeyValue

    {

        public string Value { get; set; }

        public int? Order { get; set; }

        public bool Offered { get; set; }

    }




}


查看完整回答
反對 回復 2022-12-24
  • 2 回答
  • 0 關(guān)注
  • 101 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號