本文整理汇总了PHP中XML::Loader方法的典型用法代码示例。如果您正苦于以下问题:PHP XML::Loader方法的具体用法?PHP XML::Loader怎么用?PHP XML::Loader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML
的用法示例。
在下文中一共展示了XML::Loader方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fix_xml
/**
* @param string $request
* @param array $args
*/
public function fix_xml($request, $args)
{
$request_dom = XML::Loader()->load($request);
$xpath = new DOMXPath($request_dom);
$arguments_dom_node = $xpath->query("//*[local-name()='Envelope']/*[local-name()='Body']/*")->item(0);
$this->fix_xml_node($arguments_dom_node, $args[0], $xpath);
if (version_compare(PHP_VERSION, '5.2.3', '<')) {
$this->remove_empty_header_elements($xpath);
}
return $request_dom->saveXML();
}
示例2: load
/**
* @param boolean $reload
*
* @return Dev_Source_Module
*/
protected function load($reload = false)
{
if (!$this->xml || $reload) {
$is_cdata = false;
$text = '';
$is_ignore = false;
foreach ($this->file->open('r')->text() as $line) {
if (preg_match('{^///\\s+<ignore>}', $line)) {
$is_ignore = true;
}
if (preg_match('{^///\\s+</ignore>}', $line)) {
$is_ignore = false;
$text .= "\n";
continue;
}
if (preg_match('{^\\s*$|^<\\?php|^\\?>}', $line) || $is_ignore) {
$text .= "\n";
continue;
}
if (preg_match('{^///(.*)$}', $line, $m)) {
$text .= ($is_cdata ? "]]>\n" : '') . $m[1] . "\n";
$is_cdata = false;
} else {
if ($is_cdata) {
$text .= "\n" . rtrim($line);
} else {
$text .= '<![CDATA[' . rtrim($line);
$is_cdata = true;
}
}
}
if (!($this->xml = Core::with($loader = XML::Loader())->load($text))) {
throw new Dev_Source_InvalidSourceException($this->name, $text, $loader->errors);
}
}
return $this->xml;
}