gpt4 book ai didi

c# - 从未知的 xml 创建匿名对象

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:18 26 4
gpt4 key购买 nike

我想尝试从我编写的 XML 阅读器返回一个对象,该对象用于处理具有部分未知结构的文件。

这是 XML 的示例。

<xml>
<strings>
<Home>
<Index>
<PreWrapper>
<Left>
<Title>Blah</Title>
<Body>Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Praesent vestibulum molestie lacus. Aenean nonummy hendrerit mauris. Phasellus porta. Fusce suscipit</Body>
<LinkText>read more</LinkText>
<LinkUrl>#</LinkUrl>
</Left>
<Center>
<Title>Exploit your ideas</Title>
<Body>Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Praesent vestibulum molestie lacus. Aenean nonummy hendrerit mauris. Phasellus porta. Fusce suscipit</Body>
<LinkText>read more</LinkText>
<LinkUrl>#</LinkUrl>
</Center>
<Right>
<Title>Grow your business</Title>
<Body>Lorem ipsum dolor sit amet, consec tetuer adipiscing elit. Praesent vestibulum molestie lacus. Aenean nonummy hendrerit mauris. Phasellus porta. Fusce suscipit</Body>
<LinkText>read more</LinkText>
<LinkUrl>#</LinkUrl>
</Right>
</PreWrapper>
</Index>
</Home>
</strings>
<config>
<Home>
<Index>
<ShowPreWrapper>True</ShowPreWrapper>
</Index>
</Home>
</config>
</xml>

我希望能够与我的读者通话

var left = reader.GetObject("xml/strings/Home/Index/PreWrapper/Left");

我希望它返回一个匿名对象(或动态对象,但我不太了解那些)

left.Title
left.Body
left.LinkText
left.LinkUrl

var xml = reader.GetObjcet("xml");

并且能够像这样投入其中

xml.strings.Home.Index....

但我就是不知道如何创建这个对象。这可能吗?

最佳答案

我认为你可以使用 ExpandoObject 来近似这个类,但很可能有更好的方法来做到这一点(比如使用类型更松散的语言、使用字典等)

.NET BCL 中肯定没有内置任何东西来执行此操作。

编辑:我最近发现了这个,它可能适用于这种情况:ElasticObject .

关于c# - 从未知的 xml 创建匿名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com