我正在尝试读取一个xml文件并转换为一个普通的字符串。我到目前为止使用了一个在线工具stringconverter但我希望使用php实现相同的输出。我尝试了很少的东西,但没有工作
我的XML
<?xml version="1.0" encoding="UTF-8"?>
<DCRequest xmlns="http://transunion.com/dc/extsvc">
<Authentication type="OnDemand">
<UserId>magma_ba_user</UserId>
<Password>Password@123</Password>
</Authentication>
<RequestInfo>
<SolutionSetId>350</SolutionSetId>
<SolutionSetVersion>5</SolutionSetVersion>
<ExecutionMode>NewWithContext</ExecutionMode>
</RequestInfo>
<Fields>
<!--Execution Environment Type U for Test and P for Production-->
<Field key="EnvironmentType">U</Field>
<Field key="FirstName">Venu</Field>
<Field key="MiddleName"/>
<Field key="LastName">R</Field>
<Field key="DateOfBirth">08/08/1990</Field>
<Field key="Gender">Male</Field>
<Field key="PanNo"/>
<Field key="ResidenceAddress1">dfgfdg</Field>
<Field key="ResidenceAddress2">dfgdfg</Field>
<Field key="ResidenceAddress3"/>
<Field key="ResidenceCity">ALAPUZHA</Field>
<Field key="ResidencePincode">676878</Field>
<Field key="ResidenceState">KERALA</Field>
<Field key="ResidencePhone">043525858578</Field>
<Field key="ResidenceMobileNumber"/>
<!--Reference Number from Magma can be their application Id-->
<Field key="ExternalApplicationId">10080100273002</Field>
<!--Below fields are optional. Office Addresses can be of Any type like Office,Current residence..etc-->
<Field key="OffAddr1"/>
<Field key="OffAddr2"/>
<Field key="OffAddr3"/>
<Field key="OffPincode"/>
<Field key="OffCity"/>
<Field key="OffState"/>
<Field key="OffPhone"/>
<Field key="PassportNumber"/>
<!--Driving License Number-->
<Field key="DLNo">ndfggsdg</Field>
<Field key="VoterId"/>
<!--Aadhar Id-->
<Field key="UId"/>
<Field key="RationCardNo"/>
</Fields>
</DCRequest>
我希望以这种方式转换为字符串后的输出
<?xml version="1.0" encoding="UTF-8"?>
<DCRequest xmlns="http://transunion.com/dc/extsvc">
<Authentication type="OnDemand">
<UserId>magma_ba_user</UserId>
<Password>Password@123</Password>
</Authentication>
<RequestInfo>
<SolutionSetId>350</SolutionSetId>
<SolutionSetVersion>5</SolutionSetVersion>
<ExecutionMode>NewWithContext</ExecutionMode>
</RequestInfo>
<Fields>
<!--Execution Environment Type U for Test and P for Production-->
<Field key="EnvironmentType">U</Field>
<Field key="FirstName">MANJU</Field>
<Field key="MiddleName"/>
<Field key="LastName">KHOSLA</Field>
<Field key="DateOfBirth">01/09/1970</Field>
<Field key="Gender">Female</Field>
<Field key="PanNo">APJPK4988F</Field>
<Field key="ResidenceAddress1">D-71, SECTOR NO. 9, CHITRAKOOT,</Field>
<Field key="ResidenceAddress2">JAIPUR-IN, JAIPUR-302021</Field>
<Field key="ResidenceAddress3"/>
<Field key="ResidenceCity">ALAPUZHA</Field>
<Field key="ResidencePincode">302021</Field>
<Field key="ResidenceState">Rajasthan</Field>
<Field key="ResidencePhone"></Field>
<Field key="ResidenceMobileNumber">9001383232</Field>
<!--Reference Number from Magma can be their application Id-->
<Field key="ExternalApplicationId">10080100273002</Field>
<!--Below fields are optional. Office Addresses can be of Any type like Office,Current residence..etc-->
<Field key="OffAddr1"/>
<Field key="OffAddr2"/>
<Field key="OffAddr3"/>
<Field key="OffPincode"/>
<Field key="OffCity"/>
<Field key="OffState"/>
<Field key="OffPhone"/>
<Field key="PassportNumber"/>
<!--Driving License Number-->
<Field key="DLNo">ndfggsdg</Field>
<Field key="VoterId"/>
<!--Aadhar Id-->
<Field key="UId"/>
<Field key="RationCardNo"/>
</Fields>
</DCRequest>
答案 0 :(得分:-1)
function get_text($filename)//$filename is the complete path of xml file
{
$fp_load = @fopen("$filename", "rb");
if ( $fp_load )
{
while (!feof($fp_load) )
{
$content .= fgets($fp_load, 102400);
}
fclose($fp_load);
return $content;
}
}
$xmlString = get_text($path);//$path contains complete path of xml file
使用Entities将$ xmlString更改为您的要求。