gpt4 book ai didi

c# - 在 C# 中解析锯齿状数组

转载 作者:行者123 更新时间:2023-11-30 18:09:54 25 4
gpt4 key购买 nike

我正在连接到使用 Apache Axis 和 SOAP 1.2 实现的外部 Web 服务。 Web 服务返回一个锯齿状的对象数组,如下所示。查看我的 XML xsi:type="soapenc:Array"

分别在 C#2 和 C#3 中解析这个数组的最干净/最好的方法是什么? (我对 C#2 特别感兴趣,因此 C#3 解决方案仅供引用。)

- obj  object[] {object[][]} -[0]  object {object[]}  -[0]  object {string}  -[1]  object {string} -[1]  object {object[]}  -[0]  object {string}  -[1]  object {bool} -[2]  object {object[]}  -[0]  object {string}  -[1]  object {object[]}   -[0]  object {object[][]}    -[0] object[]     -[0] object{string}     -[1] object{string)

最佳答案

不确定什么是最佳实践,但这是您可以做到的一种方式。只需要测试对象是否为数组,如果是则使用其可枚举接口(interface)。递归检查每个数组项。

    _array = new object[3];
_result = new StringBuilder();

//Populate array here

foreach (object item in _array)
{
ParseObject(item);
}


private void ParseObject(object value)
{
if (value.GetType().IsArray)
{
IEnumerable enumerable = value as IEnumerable;

foreach (object item in enumerable)
{
ParseObject(item);
}
}
else
{
_result.Append(value.ToString() + "\n");
}
}

关于c# - 在 C# 中解析锯齿状数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2133593/

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