如何从发布的数据中将XML标记添加到XML文档?

时间:2017-03-28 20:33:13

标签: php xml xml-parsing

我正在尝试编写一个基于Web的数据可视化应用程序,允许用户加载到txt文件,将其自动解析为xml,在屏幕上查看,右键单击文本并为所有计数分配一个标记选定的单词。

目前,在右键单击时,我将传递给PHP处理程序:要添加的元素名称,要添加的属性名称,要添加的值,文件名称和所选单词。我在处理程序中可以使用所有这些,但经过几个小时的搜索后,我无法弄清楚如何将标记元素/属性/值添加到XML文件中的选定单词。

php文件

<?php

$target_dir = "../UserFiles/Files/";

//$filename = $_POST["filename"];

$filename = "Chretien 1 Erec";

//$element = $_POST["element"];

$element = "Emotion";

//$attribute = $_POST["attribute"];

$attribute = "Type";

//$value = $_POST["value"];

$value = "Positive";

//$selection = $_POST["selection"];

$selection = "vilains";

$target_file = $target_dir . $filename . ".xml";

//if(isset($_POST["submit"])) {

  $xml = file_get_contents($target_file);  

  $sxml = simplexml_load_string($xml);  

  //get current xml elements

  $docElements = [];

  array_push($docElements, $sxml->getName());

  foreach ($sxml->children() as $child){

      array_push($docElements, $child->getName());

  }

  if (in_array($element, $docElements, true)) {

    echo "It's there!";

  } else {

    echo "It's not there!";

    $result = $sxml->xpath($element);

    print_r($result);

    //$sxe = new SimpleXMLElement($element);

    //$sxe->addAttribute($attribute, $selection)

  }

?php>;

xml文件

<?xml version="1.0"?>;

<LiteraryWork Author="Chretian" Title="Erec" Type="Romance">

 Li vilains dit an son respit

que tel chose a l'an an despit

qui mout valt mialz que l'an ne cuide

por ce fet bien qui son estuide

atorne a bien, quel que il l'ait

car qui son estuide antrelait

tost i puet tel chose teisir

<LiteraryWork>

0 个答案:

没有答案