首页 新闻 会员 周边 捐助

Soap格式的实体类如何序列化为XML

0
悬赏园豆:30 [已解决问题] 解决于 2016-11-16 16:18

现有Soap格式的类(包含Envelop、Header、Body), 如何通过序列化生成XML, 网上的都是序列化部分的,但是完整的就会相互影响被覆盖掉,比如Header、Body的前缀不能相同,但是XSD打开的时候是相同的,这就尴尬了

郎中令的主页 郎中令 | 菜鸟二级 | 园豆:244
提问于:2016-11-14 23:20
< >
分享
最佳答案
0

亲,你可以吧soap内容 简化后贴上来,这样大家比较好能帮到你

收获园豆:30
czd890 | 专家六级 |园豆:14488 | 2016-11-14 23:42

<?xml version="1.0" encoding="utf-8"?>
<ns0:Envelope xmlns:ns0="http://ns.chinatrust.com.tw/Envelope">
<ns1:Header xmlns:ns1="http://ns.chinatrust.com.tw/Header">
<ns1:Type>ibbc</ns1:StandardType>
<ns1:Version>01</ns1:StandardVersion>
</ns1:Header>
<ns1:Body xmlns:ns1="http://ns.chinatrust.com.tw/Body">
<ns2:ICC xmlns:ns2="http://ns.chinatrust.com.tw/XSD/CTCB/BC/Message/ICC/01">
<ns2:Status>
<ns2:Code>9527</ns2:Code>
<ns2:Desc>Success</ns2:Desc>
</ns2:Status>
<ns2:RqUID>RqUID1</ns2:RqUID>
</ns2:ICC>
</ns1:Body>
</ns0:ServiceEnvelope>

如上,我先有一個xsd,然後將它生成对应的实体类,然后现在需要根据实体类将其序列化为 XML

 

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-15 09:15

@郎中令: 没带看懂你的问题。现有Soap格式的类(包含Envelop、Header、Body)。是从实体序列化xml?还是从soap消息序列化xml?

czd890 | 园豆:14488 (专家六级) | 2016-11-15 12:13

@calvinK: 我現在有一個实体类,想把它序列化成上面给出的xml格式

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-15 16:10

说多的反而误导,就是把实体类序列化成上述的XML,现在就是前缀的问题没有得到解决

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-15 16:12

@郎中令: 自己解析xsd,然后拼整个结构。靠谱

czd890 | 园豆:14488 (专家六级) | 2016-11-15 22:02

@calvinK: 已解析XSD,得到实体类,序列化的时候ns1前缀冲突

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-16 09:34

@郎中令: 字符串拼整个结构

czd890 | 园豆:14488 (专家六级) | 2016-11-16 12:52

@calvinK: 我可以直接通過XElemen來產出對應的XML,但是客戶要求是必須根據實體類來序列化,也就是是數不允許拼接只能根據實體對象來點出來

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-16 16:14

週末準備抽時間好好研究下,寫個博客好好談談序列化時解決前綴衝突以及層級結構的命名空間處理,你回答了這麼多,對你表示感謝

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-16 16:18

@郎中令: 

http://blog.sina.com.cn/s/blog_7b60d05f0101t8qt.html

看看这个,是不是你要的

czd890 | 园豆:14488 (专家六级) | 2016-11-16 16:23
其他回答(1)
0

暫時沒有正確答案

郎中令 | 园豆:244 (菜鸟二级) | 2016-11-16 16:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册