2013-02-01 2 views
2

이것은 내 문제입니다. xml을 html로 변환하기 위해 XSLTProcessor를 사용하려고합니다. 나는 이미 사용법에 대해 읽었지만, 다음과 같은 문제가있다. transformToXML (xml_file) 함수는 xml_file이 실제 xml 파일이되도록 요구한다. transformToXML 함수가 파일 대신 문자열을 사용할 수 있습니까? 나는이 온라인 검색을 시도했지만, 내가 얻은 것은 이미 XML 파일을 사용하여 본 물건이다. 이 변환을 큰 규모 (많은 사용자에게 많은 변형이 있음)로 사용해야하므로 서버에서 파일을 사용할 수 없습니다.XSLTProcessor를 문자열이 아닌 문서에서 xml로 변환

$productxml= GetShoppingItem($params); 

$file = 'ProductQr.xml';  
file_put_contents($file, $productxml); 

$xml = new DOMDocument(); 
$xml->load('ProductQr.xml'); 

$XSL = new DOMDocument(); 
$XSL->load('XSLTForProduct.xsl'); 

$xslt = new XSLTProcessor(); 
$xslt->importStylesheet($XSL); 

$html = $xslt->transformToXML($xml); 
return $html; 

당신이 볼 수 있듯이, 여기에 내가는 $ productxml 문자열을 받고 그래서 나중에 여기에 사용할 수 있습니다 ProductQr.xml로 쓰고 : transformToXML을 ($ 여기 내 코드는 더 나은 사진을 얻을 수 있습니다 어쩌면이다 xml). 그러나 많은 변형이있을 것이고 많은 다른 제품이 있기 때문에 하나의 XML 파일을 사용할 수는 없습니다. xml 파일로 작성하지 않고

$html = $xslt->transformToXML($productxml); 

을하지만, transformToXML는 파일이 아닌 문자열이 필요 : 이상적으로는 사용할 수 있습니다. 이견있는 사람?

답변

3

load 대신 loadXML을 사용하여 문자열에서 XML을 구문 분석 할 수 있습니다.

+0

작동합니다. DOMDocument와 그 기능에 대해 더 잘 알고 있어야합니다. 고마워. –