如何在 x++ ax 2012 中为所有根属性 xml 添加前缀

How to add prefix to all root attributes xml in x++ ax 2012

我正在尝试将信息导出到 x++ 中的 xml。我希望最终结果如下所示。这是根节点。 问题是我没有得到显示所有属性前面的 pidx: 前缀。 例如,如果我有这样的代码

 xmlRoot = xmlDoc.createElement3(pidx, "Invoice", namespace);

它将产生结果

<pidx:Invoice xmlns:pidx="http://www.api.org/pidXML/v1.0"> 

很好,但是当我添加属性时

xmlRoot.setAttribute("transactionPurposeIndicator","Original");

它省略了 pidx:假设它位于 transactionPurposeIndicator 的前面 因此没有给我下面的预期输出。 即使我在 transactionPurposeIndicator 前面添加 pidx: infront,它也会忽略它。我怎样才能让它显示所有属性,因为这是根节点。

<?xml version="1.0" encoding="UTF-8"?> <pidx:Invoice pidx:transactionPurposeIndicator="Original" pidx:version="1.0" xmlns:pidx="http://www.api.org/pidXML/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.api.org/pidXML/v1.0 http://banff.digitaloilfield.com/XML/OI-PIDX-Invoice.xsd">  

尝试 xmlRoot.setAttribute2("transactionPurposeIndicator", namespace, "Original"); 而不是 xmlRoot.setAttribute("transactionPurposeIndicator","Original"); 这将给出预期的结果。