symfonyのCrawlerでxmlにノードを追加したい
symfonyのCrawlerを使ってxmlにノードを追加したいと思い下記のように実装しました。
//analyticsController.php
use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\CssSelector\CssSelector;
public function analize() {
$node = $this->generateDOMNode('ksj:station', 'xlink:href', '');
$crawler->filter('ksj|Dataset ksj|RailroadSection')->addNode($node);
$stations = $crawler->filter('ksj|Dataset ksj|RailroadSection ksj|station')->extract('xlink:href');
var_dump($stations);
}
private function generateDOMNode($nodeName, $attr, $nodeValue){
$dom = new \DOMDocument();
$node = $dom->createElement($nodeName, $nodeValue);
$attribute = $dom->createAttribute($attr);
$attribute->value = "hello";
$node->appendChild($attribute);
return $node;
}
こちらを実行してもなぜか"hello"を返してくれません。
実際のxmlデータは下記のようななものです。
//railRoad.xml
<?xml version="1.0" encoding="UTF-8" ?>
<ksj:Dataset>
<ksj:RailroadSection gml:id="eb02_1">
<ksj:location xlink:href="#cv_rss1"/>
<ksj:railwayType>23</ksj:railwayType>
<ksj:serviceProviderType>5</ksj:serviceProviderType>
<ksj:railwayLineName>沖縄都市モノレール線</ksj:railwayLineName>
<ksj:operationCompany>沖縄都市モノレール</ksj:operationCompany>
</ksj:RailroadSection>
</ksj:Dataset>
上記のxmlデータを下記のように変えたいと思っています。
<?xml version="1.0" encoding="UTF-8" ?>
<ksj:Dataset>
<ksj:RailroadSection gml:id="eb02_1">
<ksj:location xlink:href="#cv_rss1"/>
<ksj:railwayType>23</ksj:railwayType>
<ksj:serviceProviderType>5</ksj:serviceProviderType>
<ksj:railwayLineName>沖縄都市モノレール線</ksj:railwayLineName>
<ksj:operationCompany>沖縄都市モノレール</ksj:operationCompany>
<ksj:station>hello</ksj:station>
</ksj:RailroadSection>
</ksj:Dataset>
よろしくお願い致します。