现有Soap格式的类(包含Envelop、Header、Body), 如何通过序列化生成XML, 网上的都是序列化部分的,但是完整的就会相互影响被覆盖掉,比如Header、Body的前缀不能相同,但是XSD打开的时候是相同的,这就尴尬了
亲,你可以吧soap内容 简化后贴上来,这样大家比较好能帮到你
<?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
@郎中令: 没带看懂你的问题。现有Soap格式的类(包含Envelop、Header、Body)。是从实体序列化xml?还是从soap消息序列化xml?
@calvinK: 我現在有一個实体类,想把它序列化成上面给出的xml格式
说多的反而误导,就是把实体类序列化成上述的XML,现在就是前缀的问题没有得到解决
@郎中令: 自己解析xsd,然后拼整个结构。靠谱
@calvinK: 已解析XSD,得到实体类,序列化的时候ns1前缀冲突
@郎中令: 字符串拼整个结构
@calvinK: 我可以直接通過XElemen來產出對應的XML,但是客戶要求是必須根據實體類來序列化,也就是是數不允許拼接只能根據實體對象來點出來
週末準備抽時間好好研究下,寫個博客好好談談序列化時解決前綴衝突以及層級結構的命名空間處理,你回答了這麼多,對你表示感謝
@郎中令:
http://blog.sina.com.cn/s/blog_7b60d05f0101t8qt.html
看看这个,是不是你要的
暫時沒有正確答案