本文整理汇总了PHP中DomDocument::getElementsByTagNameNS方法的典型用法代码示例。如果您正苦于以下问题:PHP DomDocument::getElementsByTagNameNS方法的具体用法?PHP DomDocument::getElementsByTagNameNS怎么用?PHP DomDocument::getElementsByTagNameNS使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DomDocument
的用法示例。
在下文中一共展示了DomDocument::getElementsByTagNameNS方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: declareService
private function declareService()
{
/** @var DomElement $serviceNode */
$serviceNode = $this->dom->getElementsByTagNameNS('*', 'service')->item(0);
$name = $serviceNode->getAttribute('name');
$this->service = new Structure\ServiceStructure(['name' => $name, 'wsdl' => $this->wsdl, 'doc' => $this->serviceDescription]);
}
示例2: GenerarXML
//.........这里部分代码省略.........
if ($conceptos->descripcion != "") {
$NodoConcepto->setAttribute("descripcion", $conceptos->descripcion);
} else {
die('El nodo concepto debe tener una descripción asignada');
}
if ($conceptos->valorunitario > 0) {
$NodoConcepto->setAttribute("valorUnitario", Importe($conceptos->valorunitario));
} else {
die('El nodo valor unitario debe tener asignado un importe');
}
$NodoConcepto->setAttribute("importe", Importe($conceptos->cantidad * $conceptos->valorunitario));
$NodoConceptos->appendChild($NodoConcepto);
$this->subtotal = $this->subtotal + $conceptos->cantidad * $conceptos->valorunitario;
}
}
if (count($this->impuestos) > 0) {
$TotalImpuestosRetenidos = 0;
$TotalImpuestosTrasladados = 0;
$NodoImpuestos = $XMLCFDI->getElementsByTagName('Impuestos')->item(0);
foreach ($this->impuestos as $impuesto) {
if ($impuesto->tipo == _tiRetenido) {
if ($XMLCFDI->getElementsByTagName('cfdi:Retenciones')->length > 0) {
$NodoImpuestosRetenidos = $XMLCFDI->getElementsByTagName('cfdi:Retenciones')->item(0);
} else {
$NodoImpuestosRetenidos = $XMLCFDI->createElement('cfdi:Retenciones');
$NodoImpuestos->appendChild($NodoImpuestosRetenidos);
}
$NodoImpuestoRetenido = $XMLCFDI->createElement('cfdi:Retencion');
if ($impuesto->impuesto != "") {
$NodoImpuestoRetenido->setAttribute('impuesto', $impuesto->impuesto);
} else {
die('El nodo impuesto retenido debe tener un valor en el atributo "impuesto"');
}
// if($impuesto->tasa <> "") {
// $NodoImpuestoRetenido->setAttribute('tasa', Importe($impuesto->tasa));
// }
$NodoImpuestoRetenido->setAttribute('importe', Importe($impuesto->importe));
$NodoImpuestosRetenidos->appendChild($NodoImpuestoRetenido);
$TotalImpuestosRetenidos = $TotalImpuestosRetenidos + $impuesto->importe;
}
if ($TotalImpuestosRetenidos > 0) {
$NodoImpuestos->setAttribute('totalImpuestosRetenidos', Importe($TotalImpuestosRetenidos));
}
}
foreach ($this->impuestos as $impuesto) {
if ($impuesto->tipo == _tiTrasladado) {
if ($XMLCFDI->getElementsByTagName('cfdi:Traslados')->length > 0) {
$NodoImpuestosTrasladados = $XMLCFDI->getElementsByTagName('cfdi:Traslados')->item(0);
} else {
$NodoImpuestosTrasladados = $XMLCFDI->createElement('cfdi:Traslados');
$NodoImpuestos->appendChild($NodoImpuestosTrasladados);
}
$NodoImpuestoTrasladado = $XMLCFDI->createElement('cfdi:Traslado');
if ($impuesto->impuesto != "") {
$NodoImpuestoTrasladado->setAttribute('impuesto', $impuesto->impuesto);
} else {
die('El nodo impuesto trasladado debe tener un valor en el atributo "impuesto"');
}
if ($impuesto->tasa != "") {
$NodoImpuestoTrasladado->setAttribute('tasa', Importe($impuesto->tasa));
}
$NodoImpuestoTrasladado->setAttribute('importe', Importe($impuesto->importe));
$NodoImpuestosTrasladados->appendChild($NodoImpuestoTrasladado);
$TotalImpuestosTrasladados = $TotalImpuestosTrasladados + $impuesto->importe;
}
if ($TotalImpuestosTrasladados > 0) {
$NodoImpuestos->setAttribute('totalImpuestosTrasladados', Importe($TotalImpuestosTrasladados));
}
}
}
if ($this->subtotal > 0) {
$c->setAttribute('subTotal', Importe($this->subtotal));
}
// $descuentosporimpuestos = ($TotalImpuestosRetenidos + $TotalImpuestosTrasladados);
// $descuentosporimpuestos = $TotalImpuestosRetenidos;
$atributo_total = $this->subtotal - $TotalImpuestosRetenidos + $TotalImpuestosTrasladados - $this->descuento;
$c->setAttribute('total', $atributo_total);
$this->FacturaXML = $XMLCFDI->saveXML();
$XMLCFDI->normalizeDocument();
$XMLCFDI->formatOutput = true;
if ($this->XMLSellado) {
// $this->SellarXML_($XMLCFDI);
$this->SellarXML_($this->FacturaXML);
$c = $XMLCFDI->getElementsByTagNameNS('http://www.sat.gob.mx/cfd/3', 'Comprobante')->item(0);
if ($this->sello == '') {
throw new Exception('Ocurrió un error al intentar colocar el sello, no se registró ninguno');
}
if ($this->certificado == '') {
throw new Exception('Ocurrió un error al intentar colocar el certificado, no se registró ninguno');
}
if ($this->numcertificado == '') {
throw new Exception('Ocurrió un error al intentar colocar el número de certificado, no se registró ninguno');
}
$c->setAttribute('sello', $this->sello);
$c->setAttribute('certificado', $this->certificado);
$c->setAttribute('noCertificado', $this->numcertificado);
}
$this->XMLNominaCFDI = $XMLCFDI->saveXML();
return $this->XMLNominaCFDI;
}
示例3: addChannelData
/**
* Add the channel data
*
* @param \DomDocument $xmlDoc
* @param array $channelData
*/
protected function addChannelData($channelData, $xmlDoc)
{
$xmlDoc->getElementsByTagName('generator')->item(0)->textContent = Feedster::FEED_GENERATOR_NAME;
$xmlDoc->getElementsByTagName('lastBuildDate')->item(0)->textContent = date('r');
foreach ($channelData as $element => $elValue) {
$xmlItem = $xmlDoc->getElementsByTagName($element)->item(0);
if ($xmlItem instanceof \DOMElement) {
$xmlItem->textContent = $elValue;
}
}
$atomLink = $xmlDoc->getElementsByTagNameNS($xmlDoc->lookupNamespaceUri('atom'), 'link')->item(0);
if ($atomLink instanceof \DOMElement) {
$atomLink->setAttribute('href', isset($channelData['link']) ? $channelData['link'] : '');
}
}
示例4: DomDocument
/**
* Creates a new instance of the class by parsing dc_xml
* @param string $dc_xml
* @return Dublin_Core
*/
static function import_from_xml_string($dc_xml)
{
$dc_doc = new DomDocument();
if ($dc_doc->loadXML($dc_xml)) {
$oai_dc = $dc_doc->getElementsByTagNameNS('http://purl.org/dc/elements/1.1/', '*');
$new_dc = new Dublin_Core();
foreach ($oai_dc as $child) {
array_push($new_dc->dc[$child->nodeName], $child->nodeValue);
}
return $new_dc;
} else {
return null;
}
}
示例5: __construct
public function __construct($xml)
{
if ($xml) {
// first, lets find the cmis namespace to use
$sx = new SimpleXMLElement($xml);
$namespaces = $sx->getDocNamespaces();
unset($sx);
$cmisra = isset($namespaces['cmisra']) ? $namespaces['cmisra'] : null;
$cmis = isset($namespaces['cmis']) ? $namespaces['cmis'] : null;
$doc = new DomDocument();
$doc->loadXML($xml);
$versionElem = $doc->getElementsByTagNameNS($cmis, 'cmisVersionSupported');
if ($versionElem->item(0) == null) {
// try 'versions'... knowledgetree has this misspelling
$versionElem = $doc->getElementsByTagNameNS($cmis, 'cmisVersionsSupported');
}
$version = 0;
if ($versionElem && $versionElem->item(0)) {
// use the first one...
$version = $versionElem->item(0)->nodeValue;
}
$rootFolderElem = $doc->getElementsByTagNameNS($cmis, 'rootFolderId');
if ($rootFolderElem->item(0)) {
$this->rootFolder = trim($rootFolderElem->item(0)->nodeValue);
}
$capabilities = $doc->getElementsByTagNameNS($cmis, 'capabilities');
if ($capabilities->item(0)) {
foreach ($capabilities->item(0)->childNodes as $capNode) {
if ($capNode->nodeName == '#text') {
continue;
}
/* @var $capNode DomElement */
$this->capabilities[str_replace('cmis:', '', $capNode->nodeName)] = $capNode->nodeValue;
}
}
$collectionElems = $doc->getElementsByTagName('collection');
foreach ($collectionElems as $collectionElem) {
$aNs = $cmis;
if ((double) $version >= 0.62) {
$aNs = $cmisra;
}
$collectionType = $collectionElem->getAttributeNS($aNs, 'collectionType');
if (!$collectionType) {
$collectionTypeElems = $collectionElem->getElementsByTagNameNS($cmisra, 'collectionType');
$collectionType = $collectionTypeElems->item(0)->nodeValue;
}
// protected against duplicate collections for now... there can be two urls for the
// 'down' link, and we only want the 'children' one for now as it has more info
// returned?
if ($collectionType && !isset($this->collections[$collectionType])) {
$this->collections[$collectionType] = $collectionElem->getAttribute('href');
}
}
$uriTemplates = $doc->getElementsByTagNameNS($cmisra, 'uritemplate');
if ($uriTemplates) {
foreach ($uriTemplates as $uriTemplate) {
$templateElem = $uriTemplate->getElementsByTagNameNS($cmisra, 'template');
$templateNameElem = $uriTemplate->getElementsByTagNameNS($cmisra, 'type');
$this->uritemplates[$templateNameElem->item(0)->nodeValue] = $templateElem->item(0)->nodeValue;
}
}
unset($doc);
}
}
示例6: switch
/**
* Removes the given relationship from the item's RELS-EXT and re-saves it.
* @param string $relationship
* @param string $object
*/
function purge_relationship($relationship, $object)
{
$relsext = $this->get_datastream_dissemination('RELS-EXT');
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#';
// Pre-pend a namespace prefix to recognized relationships
switch ($relationship) {
case 'rel:isMemberOf':
case 'fedora:isMemberOf':
$relationship = "isMemberOf";
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#';
break;
case "rel:isMemberOfCollection":
case "fedora:isMemberOfCollection":
$relationship = "isMemberOfCollection";
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#';
break;
case "fedora:isPartOf":
$relationship = "isPartOf";
$namespaceURI = 'info:fedora/fedora-system:def/relations-external#';
break;
}
if (substr($object, 0, 12) != 'info:fedora/') {
$object = "info:fedora/{$object}";
}
$relsextxml = new DomDocument();
$relsextxml->loadXML($relsext);
$modified = FALSE;
$rels = $relsextxml->getElementsByTagNameNS($namespaceURI, $relationship);
if (!empty($rels)) {
foreach ($rels as $rel) {
if ($rel->getAttributeNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'resource') == $object) {
$rel->parentNode->removeChild($rel);
$modified = TRUE;
}
}
}
if ($modified) {
$this->modify_datastream_by_value($relsextxml->saveXML(), 'RELS-EXT', "Fedora Object-to-Object Relationship Metadata", 'text/xml');
}
return $modified;
//print ($description->dump_node());
}
示例7: import
function import($xmlString, $type, $user, $group_e, $group_v, $mds, $langs, $lang_main, $params = false, $updateType = "", $md_rec = "", $fc = "", $public = 0)
{
/*---------------------------------------------------------------------
Import jednoho XML dokumentu
$xmlString obsah xml souboru
$format format souboru ()
$user prihlaseny uzivatel
$group_e skupina pro editaci
$group_v skupina pro prohlizeni
$mds standard metadat
$langs seznam pouzitych jazyku
$public zda bude zaznam verejny
---------------------------------------------------------------------*/
$mod = 'all';
// mod pro import, all importuje vse, neco jineho preskakuji uuid
$id = "1";
// identifikator DS - pouze jedna
$rs = -1;
//---------------------------------------------------------------------
$xp = new XsltProcessor();
$xml = new DomDocument();
$xsl = new DomDocument();
$OK = false;
$esri = FALSE;
if (!$xml->loadXML($xmlString)) {
die('Bad xml format');
}
//--- import kote etc (19139)
if (!$OK) {
$root = $xml->getElementsByTagNameNS("http://www.isotc211.org/2005/gmd", "MD_Metadata");
if ($root->item(0)) {
/*$isValid = $xml->schemaValidate("http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gmd/gmd.xsd");
if(!$isValid){
echo "WARNING! Imported XML file is not valid.";
var_dump(libxml_get_errors());
}*/
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["iso"];
$OK = true;
}
}
//--- import kote etc (19139) - ISO 19115-2
if (!$OK) {
$root = $xml->getElementsByTagNameNS("http://www.isotc211.org/2005/gmi", "MI_Metadata");
if ($root->item(0)) {
/*$isValid = $xml->schemaValidate("http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gmd/gmd.xsd");
if(!$isValid){
echo "WARNING! Imported XML file is not valid.";
var_dump(libxml_get_errors());
}*/
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["iso"];
$OK = true;
}
}
//--- import nativni
if (!$OK) {
$root = $xml->getElementsByTagName("results");
if ($root->item(0)) {
$featureCatalogue = $xml->getElementsByTagName("featureCatalogue");
if ($featureCatalogue) {
$fc = strval($featureCatalogue->item(0)->getAttribute('uuid'));
}
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["native"];
$OK = true;
}
}
//--- kontrola, zda je ESRI
if (!$OK) {
$root = $xml->getElementsByTagName("Esri");
if ($root->item(0)) {
if ($fc != '') {
$xslName = PHPINC_DIR . "/xsl/esri2fc.xsl";
$lang_fc = $langs;
} else {
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["esri"];
}
$OK = true;
$esri = true;
}
}
//--- import ISVS/MIDAS
if (!$OK) {
$root = $xml->getElementsByTagName("METAIS");
if ($root->item(0)) {
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["isvs"];
$OK = true;
}
}
//--- import WMC
if (!$OK) {
$root = $xml->getElementsByTagNameNS("http://www.opengis.net/context", "ViewContext");
if ($root->item(0)) {
$xslName = PHPINC_DIR . "/xsl/" . $this->xsl_files["wmc"];
$OK = true;
}
}
//--- zde pribudou dalsi typy pro import
if (!$OK) {
$rs = array();
$rs[0]['ok'] = 0;
//.........这里部分代码省略.........