我正在尝试编写一个基于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>