php中读取xml的问题
xml如下,这是通过excel转出来的:<?xmlversion="1.0"?><Worksheetss:Name="data"><Tabless:ExpandedCol...
xml如下,这是通过excel转出来的:
<?xml version="1.0"?>
<Worksheet ss:Name="data">
<Table ss:ExpandedColumnCount="30" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s43" ss:DefaultColumnWidth="54"
ss:DefaultRowHeight="12">
<Row ss:Height="12.75" ss:StyleID="s30">
<Cell ss:StyleID="s25"><Data ss:Type="String">李大陶二</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s40"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">恭三<Font html:Face="Arial"
x:Family="Swiss">,</Font><Font>麦四</Font></ss:Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s25"><Data ss:Type="String">柳五钱六商七</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
</Table>
</Worksheet>
我在php中通过$cell->Data只能取到李大陶二和柳五钱六商七,不能取到“恭三,麦四”,用$cell->ss:Data编译通不过,用$cell->{"ss:Data"}取不到,请问如何能取到这个值,而且还需过滤html标签,如果用xsl来解析的话,应该怎么写才能和php相结合?谢谢了!
我用的是SimpleXMLElement方式,如果用DomDocument方式可以实现,请给出,谢谢了!
---------------------------------------------------------------------
我用你的方式可以取出恭三,碰到html标签后就不能解析,所以无法取出麦四,请问有过滤html标签的方法吗?谢谢! 展开
<?xml version="1.0"?>
<Worksheet ss:Name="data">
<Table ss:ExpandedColumnCount="30" ss:ExpandedRowCount="5" x:FullColumns="1"
x:FullRows="1" ss:StyleID="s43" ss:DefaultColumnWidth="54"
ss:DefaultRowHeight="12">
<Row ss:Height="12.75" ss:StyleID="s30">
<Cell ss:StyleID="s25"><Data ss:Type="String">李大陶二</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s40"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">恭三<Font html:Face="Arial"
x:Family="Swiss">,</Font><Font>麦四</Font></ss:Data><NamedCell
ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s25"><Data ss:Type="String">柳五钱六商七</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
</Row>
</Table>
</Worksheet>
我在php中通过$cell->Data只能取到李大陶二和柳五钱六商七,不能取到“恭三,麦四”,用$cell->ss:Data编译通不过,用$cell->{"ss:Data"}取不到,请问如何能取到这个值,而且还需过滤html标签,如果用xsl来解析的话,应该怎么写才能和php相结合?谢谢了!
我用的是SimpleXMLElement方式,如果用DomDocument方式可以实现,请给出,谢谢了!
---------------------------------------------------------------------
我用你的方式可以取出恭三,碰到html标签后就不能解析,所以无法取出麦四,请问有过滤html标签的方法吗?谢谢! 展开
展开全部
你用的是SimpleXML系列函数吧。
把$data=$cell->{"ss:Data"}改成:
$cell_ss=$cell->children('ss',TRUE);
$data=$cell_ss->Data;
此时,$data的字符串值是“恭三”。
如果想取得ss:Data标签内所有的文本,则还需要DOM的帮忙。
$data_dom=dom_import_simplexml($data);
$data_text=$data_dom->textContent;
此时,$data_text是字符串“恭三,麦四”。
把$data=$cell->{"ss:Data"}改成:
$cell_ss=$cell->children('ss',TRUE);
$data=$cell_ss->Data;
此时,$data的字符串值是“恭三”。
如果想取得ss:Data标签内所有的文本,则还需要DOM的帮忙。
$data_dom=dom_import_simplexml($data);
$data_text=$data_dom->textContent;
此时,$data_text是字符串“恭三,麦四”。
参考资料: http://www.65536.cn
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询