从字符串XML标签's属性中删除字符


Removing character From String XML tag's Attribute in PHP

我有一个XML字符串,在删除时面临一个麻烦:ok'"="来自XML标记的属性我的XML代码是

<qbxml>'n<qbxmlmsgsrs>'n<companyqueryrs statuscode="'&quot;0'&quot;" statusseverity="'&quot;Info'&quot;" statusmessage="'&quot;Status" ok'"="">'n<companyret>'n<issamplecompany>false</issamplecompany>'n<companyname>Cougar Enterprises Hosted</companyname>'n<legalcompanyname>COFAUD</legalcompanyname>'n<address>'n<addr1>69 Smart Street</addr1>'n<city>Melbourne</city>'n<state>VIC</state>'n<postalcode>3001</postalcode>'n</address>'n<addressblock>'n<addr1>69 Smart Street</addr1>'n<addr2>Melbourne, VIC 3001</addr2>'n</addressblock>'n<legaladdress>'n<addr1>IDEV</addr1>'n<addr2>PLGPAUG15ANZ</addr2>'n<city>COF0058</city>'n</legaladdress>'n<phone>03 9854 1222</phone>'n<fax>03 9854 1223</fax>'n<email>Accounts@cougar.com.au</email>'n<companywebsite>www.cougar.com.au</companywebsite>'n<firstmonthfiscalyear>July</firstmonthfiscalyear>'n<firstmonthincometaxyear>July</firstmonthincometaxyear>'n<ein>98 765 432 154/</ein>'n<taxform>OtherOrNone</taxform>'n</companyret>'n</companyqueryrs>'n</qbxmlmsgsrs>'n</qbxml>

当我试图解析这个给我的问题:无法格式化JSON输出。与元素类型"companyqueryrs"相关联的属性名"ok"必须后跟"="字符。

我尝试了str_replace和Regex,但找不到结果。我正在检查这个转换http://www.freeformatter.com/xml-to-json-converter.html

如果我手动删除ok'"="从XML字符串然后它给了我适当的结果,但从脚本我无法删除这一个。你能建议一下吗?由于

您可以这样尝试:

 $string = '
<qbxml>'n<qbxmlmsgsrs>'n<companyqueryrs statuscode="'&quot;0'&quot;"  statusseverity="'&quot;Info'&quot;" statusmessage="'&quot;Status" ok'"="">'n<companyret>'n<issamplecompany>false</issamplecompany>'n<companyname>Cougar Enterprises Hosted</companyname>'n<legalcompanyname>COFAUD</legalcompanyname>'n<address>'n<addr1>69 Smart Street</addr1>'n<city>Melbourne</city>'n<state>VIC</state>'n<postalcode>3001</postalcode>'n</address>'n<addressblock>'n<addr1>69 Smart Street</addr1>'n<addr2>Melbourne, VIC 3001</addr2>'n</addressblock>'n<legaladdress>'n<addr1>IDEV</addr1>'n<addr2>PLGPAUG15ANZ</addr2>'n<city>COF0058</city>'n</legaladdress>'n<phone>03 9854 1222</phone>'n<fax>03 9854 1223</fax>'n<email>Accounts@cougar.com.au</email>'n<companywebsite>www.cougar.com.au</companywebsite>'n<firstmonthfiscalyear>July</firstmonthfiscalyear>'n<firstmonthincometaxyear>July</firstmonthincometaxyear>'n<ein>98 765 432 154/</ein>'n<taxform>OtherOrNone</taxform>'n</companyret>'n</companyqueryrs>'n</qbxmlmsgsrs>'n</qbxml>';

 $string=str_replace('ok'"=""',"",$string);
 print_r($string);