Ada Chiu Ответов: 0

Как разбить XML - записи на XML-файл? Каждый файл имеет только 1 запись с использованием PHP.


Я впервые использую XML-файлы в PHP, и мне нужна помощь. Я пытаюсь разделить XML-файл на несколько XML-файлов с помощью PHP. Имя файла используется от 1 до 10, в соответствии с Порядком создания. Я предпочитаю использовать Xml dom. Это происходит потому, что система не поддерживает xsl.Ниже приведен мой код
<fax>
    <outerfax to="51083293">
     <covertext>
     <attachfiles>
     <attachfile>aa.pdf
     <attachfile>aa.pdf
     
     
     <outerfax to="98765432">
      <covertext>
     <attachfiles>
     <attachfile>aa.pdf
     <attachfile>aa.pdf
     
     
     <outerfax to="98765432">
     <covertext>
     <attachfiles>
     <attachfile>aa.pdf
     <attachfile>aa.pdf
     
     
     <outerfax to="98765432">
     <covertext>
     <attachfiles>
     <attachfile>aa.pdf
     <attachfile>aa.pdf
    
    
 <outerfax to="98765432">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf/attachFile>
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="27239391">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="12345678">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="27239391">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
 <outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf

Я хотел бы изменить это в каждом из XML-файлов, таких как :
<outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf
  
 
<outerfax to="51083293">
  <covertext>
  <attachfiles>
   <attachfile>aa.pdf
   <attachfile>aa.pdf


Что я уже пробовал:

openURI($test);
$xml->startDocument();
$xml->setIndent(true);

$xml->startElement('fax');
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {

    $xml->startElement("OuterFax");
	$xml->writeAttribute('to', $row['Fax_number']);
    $xml->startElement("CoverText");
    $xml->writeCData('fax ConverText.from '.$row['Fax_form_ID']);
    $xml->endElement();
    $xml->startElement("attachFiles");
	$xml->writeElement('attachFile', $row['file_path']);
	$xml->writeElement('attachFile', $row['file_path']);
	$xml->endElement();
	$xml->endElement();
}


$xml->endElement();

header('Content-type: text/xml');
$xml->flush();
//$sql2 = "UPDATE vg_fax_request_record SET Status='done'";
mysqli_close($conn);
?>

Richard MacCutchan

Ваш XML плохо сформирован, поэтому любая попытка прочитать его, скорее всего, потерпит неудачу.

Gerry Schmitz

То, что у вас есть, - это "искаженный" XML. Это не вычисляется.

0 Ответов