首页 \ 问答 \ peoplecode中的LoadXMLString函数未按预期工作(LoadXMLString function in peoplecode not working as expected)

peoplecode中的LoadXMLString函数未按预期工作(LoadXMLString function in peoplecode not working as expected)

我正在使用一个外部服务,它返回一个XML,它与peoplesoft中的服务操作生成的XML完全相同。 因此,我使用了loadXMLStrin函数,如下所述。 但是,只有一个字段被复制到行集。 我不知道什么是错的。

这是代码。

&msgAddrResp = CreateMessage(Operation.FG_ADDR_RESP);
  &msgAddrResp.LoadXMLString(&sXML);

  &rsFgAddrStndRespWr = &msgAddrResp.GetRowset();

这是XML

<?xml version="1.0"?>
<FG_ADDR_RESP2>
<FieldTypes>
<FG_ADDR_RESP_WR class="R">
<cmid type="NUMBER"/>
<AddressLine1 type="CHAR"/>
<City type="CHAR"/>
<State type="CHAR"/>
<PostalCode type="CHAR"/>
<TimeZone type="CHAR"/>
<InCityLimit type="CHAR"/>
</FG_ADDR_RESP_WR>
<PSCAMA class="R">
<LANGUAGE_CD type="CHAR"/>
<AUDIT_ACTN type="CHAR"/>
<BASE_LANGUAGE_CD type="CHAR"/>
<MSG_SEQ_FLG type="CHAR"/>
<PROCESS_INSTANCE type="NUMBER"/>
<PUBLISH_RULE_ID type="CHAR"/>
<MSGNODENAME type="CHAR"/>
</PSCAMA>
</FieldTypes>
<MsgData>
<Transaction>
<FG_ADDR_RESP_WR class="R">
<cmid IsChanged="Y">0</cmid>
<AddressLine1 IsChanged="Y">xxxxx<AddressLine1/>
<City IsChanged="Y">xxxxxxxxx<City/>
<State IsChanged="Y">xx<State/>
<PostalCode IsChanged="Y">xxxxxxx<PostalCode/>
<TimeZone IsChanged="Y">xxx<TimeZone/>
<InCityLimit IsChanged="Y">x<InCityLimit/>
</FG_ADDR_RESP_WR>
<PSCAMA class="R">
<LANGUAGE_CD>ENG<LANGUAGE_CD/>
<AUDIT_ACTN><AUDIT_ACTN/>
<BASE_LANGUAGE_CD>ENG<BASE_LANGUAGE_CD/>
<MSG_SEQ_FLG><MSG_SEQ_FLG/>
<PROCESS_INSTANCE>0</PROCESS_INSTANCE/>
<PUBLISH_RULE_ID><PUBLISH_RULE_ID/>
<MSGNODENAME><MSGNODENAME/>
</PSCAMA>
</Transaction>
</MsgData>
</FG_ADDR_RESP2>

I am working with an external service which returns an XML which is exactly equal to the XML generated from a service operation in peoplesoft. Therefore, I used loadXMLStrin function as mentioned below. But, only one field is copied to the rowset. I dont know whats wrong.

Here is the code.

&msgAddrResp = CreateMessage(Operation.FG_ADDR_RESP);
  &msgAddrResp.LoadXMLString(&sXML);

  &rsFgAddrStndRespWr = &msgAddrResp.GetRowset();

Here is the XML

<?xml version="1.0"?>
<FG_ADDR_RESP2>
<FieldTypes>
<FG_ADDR_RESP_WR class="R">
<cmid type="NUMBER"/>
<AddressLine1 type="CHAR"/>
<City type="CHAR"/>
<State type="CHAR"/>
<PostalCode type="CHAR"/>
<TimeZone type="CHAR"/>
<InCityLimit type="CHAR"/>
</FG_ADDR_RESP_WR>
<PSCAMA class="R">
<LANGUAGE_CD type="CHAR"/>
<AUDIT_ACTN type="CHAR"/>
<BASE_LANGUAGE_CD type="CHAR"/>
<MSG_SEQ_FLG type="CHAR"/>
<PROCESS_INSTANCE type="NUMBER"/>
<PUBLISH_RULE_ID type="CHAR"/>
<MSGNODENAME type="CHAR"/>
</PSCAMA>
</FieldTypes>
<MsgData>
<Transaction>
<FG_ADDR_RESP_WR class="R">
<cmid IsChanged="Y">0</cmid>
<AddressLine1 IsChanged="Y">xxxxx<AddressLine1/>
<City IsChanged="Y">xxxxxxxxx<City/>
<State IsChanged="Y">xx<State/>
<PostalCode IsChanged="Y">xxxxxxx<PostalCode/>
<TimeZone IsChanged="Y">xxx<TimeZone/>
<InCityLimit IsChanged="Y">x<InCityLimit/>
</FG_ADDR_RESP_WR>
<PSCAMA class="R">
<LANGUAGE_CD>ENG<LANGUAGE_CD/>
<AUDIT_ACTN><AUDIT_ACTN/>
<BASE_LANGUAGE_CD>ENG<BASE_LANGUAGE_CD/>
<MSG_SEQ_FLG><MSG_SEQ_FLG/>
<PROCESS_INSTANCE>0</PROCESS_INSTANCE/>
<PUBLISH_RULE_ID><PUBLISH_RULE_ID/>
<MSGNODENAME><MSGNODENAME/>
</PSCAMA>
</Transaction>
</MsgData>
</FG_ADDR_RESP2>

原文:https://stackoverflow.com/questions/21887481
更新时间:2023-02-01 19:02

最满意答案

将您的节点投射到一个Element,并且您很好。


Cast your node to an Element, and you're good to go.

相关问答

更多

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)