PHP의 xml 노드에 네임 스페이스 속성 추가

스왑 네쉬

다음은 XML로 만들려는 노드입니다.

<?xml version="1.0" standalone="no" ?>
<manifest identifier="com.scorm.golfsamples.contentpackaging.multioscosinglefile.20043rd"
          version="1"
          xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3"
          xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3"
          xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3"
          xmlns:imsss="http://www.imsglobal.org/xsd/imsss"
          xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd
                              http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd
                              http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd
                              http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd
                              http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd">

코드는 identifierversion속성에 대해 잘 작동 하지만 다음과 같은 네임 스페이스로 생성 할 수 없습니다.xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"

여기 에서이 코드를 시도 했지만 만들 수 없습니다.

$doc = new DOMDocument( '1.0' );
$doc->loadXML( $source );

// (1) We just create a "namespace'd" attribute without appending it to any element.
$attr_ns = $doc->createAttributeNS( '{namespace_uri_here}', 'example:attr' );

print $doc->saveXML() . "\n";

Codepad 링크 - http://codepad.org/uLJc4hpP

전체 코드-

   //creating an XML document
    $dom = new DOMDocument('1.0');
    $dom->xmlStandalone = false;

    //create element manifest
    $manfiestNode = $dom->createElement('manifest',"");

    //create attribute identifier
    $manfiestNodeAttr = $dom->createAttribute('identifier');

    //value for the manifest node identifier value
    $date = new DateTime();
    $manfiestNodeAttr->value = 'course_'.date_format($date,'U');

    //append attribute to the manifest element
    $manfiestNode->appendChild($manfiestNodeAttr);

    //create attribute with an associated namespace
    $nodeAttr = $manfiestNode->createAttributeNS('{namespace_uri_here}', 'example:attr');

    //append namespace to the manifest element
    $nodeAttr->appendChild($manfiestNode);

    //append manifest element to the document
    $dom->appendChild($manfiestNode);

    var_dump($dom->saveXML());

내가 개념적으로 뭘 잘못하고 있는지, 어떻게 작동하게 만들 수 있는지 알려주세요.

나는 변경 시도 $manfiestNode$dom라인 (20) [codepad 링크]하지만 여전히 행운 :(에서.

오류-

치명적 오류 : 20 행에 정의되지 않은 DOMElement :: createAttributeNS () 메소드 호출

건조한 찬 바람

createAttribute다음 같이 시도하십시오.

$dom = new DOMDocument('1.0','UTF-8'); 

// root manifest
$root = $dom->appendChild($dom->createElement('manifest')); 

// identifier   
$date = new DateTime();
$manfiestNodeAttr_value = 'course_'.date_format($date,'U');

$root->appendChild($dom->createAttribute('identifier'))->appendChild($dom->createTextNode($manfiestNodeAttr_value)); 

// version
$version = 1;

$root->appendChild($dom->createAttribute('version'))->appendChild($dom->createTextNode($version)); 

// xmlns:xsi
$root->appendChild($dom->createAttribute('xmlns:xsi'))->appendChild($dom->createTextNode("http://www.w3.org/2001/XMLSchema-instance"));

print_r($dom->saveXML());

데모 코드 패드 : http://codepad.org/zgug0Gl3

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

xml 네임 스페이스의 속성

분류에서Dev

XSLT-노드 XML에 네임 스페이스 추가

분류에서Dev

lxml의 노드 속성에 다른 네임 스페이스를 추가하는 방법

분류에서Dev

XML에서 XSD 생성 및 네임 스페이스 XSLT 추가

분류에서Dev

XSLT를 사용하여 XML의 특정 노드에 네임 스페이스 추가

분류에서Dev

네임 스페이스를 무시하고 PHP에서 DOMXPath를 사용하여 XML 속성 가져 오기

분류에서Dev

LINQ to XML-노드로드 후 Xdocument에 추가-네임 스페이스 문제

분류에서Dev

<dto : telefono> 속성에 대한 네임 스페이스가있는 아래 xml의 Xpath를 찾는 방법

분류에서Dev

XML의 네임 스페이스 속성을 가져올 수 없습니다.

분류에서Dev

XML 속성에 네임 스페이스 접두사가 추가되는 이유는 무엇입니까?

분류에서Dev

XML 속성에 네임 스페이스 접두사가 추가되는 이유는 무엇입니까?

분류에서Dev

xml에서 xhtml로 : 빈 네임 스페이스 속성 추가 (xslt 2.0, saxon9he)

분류에서Dev

XML : 자식 노드가 부모 노드 네임 스페이스를 상속하게 하시겠습니까?

분류에서Dev

Oracle에서 네임 스페이스가있는 CLOB 열에 xml 노드 삽입

분류에서Dev

XML-루트에없는 네임 스페이스 추가

분류에서Dev

기존 xml에 네임 스페이스 및 별칭 추가

분류에서Dev

셸에서 XML 문서의 기본 네임 스페이스 태그에 네임 스페이스 접두사를 추가합니다.

분류에서Dev

Java x 경로에서 네임 스페이스가있는 중첩 된 xml의 속성을 가져 오는 방법

분류에서Dev

PHP에서 네임 스페이스를 사용하여 XML 문서 생성

분류에서Dev

네임 스페이스의 속성에 새 값 설정

분류에서Dev

XML : 네임 스페이스에서 접두사가있는 태그 생성

분류에서Dev

IronPython이 C #의 범위에 네임 스페이스를 추가

분류에서Dev

XML 태그의 속성 네임 스페이스는 무엇입니까?

분류에서Dev

XML에서 네임 스페이스가 지정된 루트 노드의 요점은 무엇이며 이러한 네임 스페이스는 어디에 정의됩니까?

분류에서Dev

전체 문서를 복사하는 동안 XSL 속성 (네임 스페이스 아님)을 XML 루트에 추가

분류에서Dev

네임 스페이스에있는 XML의 요소 액세스

분류에서Dev

콜론이있는 네임 스페이스를 xml 파일에 추가

분류에서Dev

xml 노드에서 네임 스페이스 제거

분류에서Dev

네임 스페이스가있는 XML 노드를 선택하는 방법

Related 관련 기사

  1. 1

    xml 네임 스페이스의 속성

  2. 2

    XSLT-노드 XML에 네임 스페이스 추가

  3. 3

    lxml의 노드 속성에 다른 네임 스페이스를 추가하는 방법

  4. 4

    XML에서 XSD 생성 및 네임 스페이스 XSLT 추가

  5. 5

    XSLT를 사용하여 XML의 특정 노드에 네임 스페이스 추가

  6. 6

    네임 스페이스를 무시하고 PHP에서 DOMXPath를 사용하여 XML 속성 가져 오기

  7. 7

    LINQ to XML-노드로드 후 Xdocument에 추가-네임 스페이스 문제

  8. 8

    <dto : telefono> 속성에 대한 네임 스페이스가있는 아래 xml의 Xpath를 찾는 방법

  9. 9

    XML의 네임 스페이스 속성을 가져올 수 없습니다.

  10. 10

    XML 속성에 네임 스페이스 접두사가 추가되는 이유는 무엇입니까?

  11. 11

    XML 속성에 네임 스페이스 접두사가 추가되는 이유는 무엇입니까?

  12. 12

    xml에서 xhtml로 : 빈 네임 스페이스 속성 추가 (xslt 2.0, saxon9he)

  13. 13

    XML : 자식 노드가 부모 노드 네임 스페이스를 상속하게 하시겠습니까?

  14. 14

    Oracle에서 네임 스페이스가있는 CLOB 열에 xml 노드 삽입

  15. 15

    XML-루트에없는 네임 스페이스 추가

  16. 16

    기존 xml에 네임 스페이스 및 별칭 추가

  17. 17

    셸에서 XML 문서의 기본 네임 스페이스 태그에 네임 스페이스 접두사를 추가합니다.

  18. 18

    Java x 경로에서 네임 스페이스가있는 중첩 된 xml의 속성을 가져 오는 방법

  19. 19

    PHP에서 네임 스페이스를 사용하여 XML 문서 생성

  20. 20

    네임 스페이스의 속성에 새 값 설정

  21. 21

    XML : 네임 스페이스에서 접두사가있는 태그 생성

  22. 22

    IronPython이 C #의 범위에 네임 스페이스를 추가

  23. 23

    XML 태그의 속성 네임 스페이스는 무엇입니까?

  24. 24

    XML에서 네임 스페이스가 지정된 루트 노드의 요점은 무엇이며 이러한 네임 스페이스는 어디에 정의됩니까?

  25. 25

    전체 문서를 복사하는 동안 XSL 속성 (네임 스페이스 아님)을 XML 루트에 추가

  26. 26

    네임 스페이스에있는 XML의 요소 액세스

  27. 27

    콜론이있는 네임 스페이스를 xml 파일에 추가

  28. 28

    xml 노드에서 네임 스페이스 제거

  29. 29

    네임 스페이스가있는 XML 노드를 선택하는 방법

뜨겁다태그

보관