2012-03-04 4 views
2

をロードしないこれはxmlです:PHPのXMLReaderのいくつかのXMLノード

<Root xmlns:sql='urn:schemas-microsoft-com:xml-sql'> 
<Truserv> 

    <Item item_nbr="100024" srp_cost="11.99" member_cost="4.90" ds_cost="4.08" short_description="36&quot; Bent SB Axe Handle" vendor_id="74658" dpt_code="L " class_code="14" subclass_code="36" vendor_name="LINK HANDLE DIV OF SEYMOUR" upc="25545100091" long_description="36&quot;, Homeowner Bent Single Bit Axe Handle, For 3 To 5 LB Axes, Good Weight Hickory, Natural Wax Finish, 1 Wood Wedge Included, Hang Up Hook In Handle For Pegboard Display." weight="1.50" length="0.27" width="0.60" height="3.13" pack_weight="18.60" pack_length="3.20" pack_width="7.20" pack_height="37.50" retail_pack_qty="1" member_pack_qty="12" member_pack_type="B" member_break_pack="Y" model="100-09" item_picture_id="100024" country_code="US" to_be_discontinued="N" retail_uom="EA " Edit_Divisor="1" Exclusive_Brand_Code=""/> 

    <Item item_nbr="100183" srp_cost="16.99" member_cost="10.61" ds_cost="10.64" short_de 
scription="Lav Pop Up Assembly" vendor_id="5967" dpt_code="A " class_code="38" subclass_code="11" vendor_name="UNITED STATES HDW MFG/U S HA" upc="16356025802" long_description="1-1/4&quot;, Chrome Finish, Lavatory Pop Up Assembly, With Push Rod, No Overflow, ABS Plastic Top &amp; Body." weight="0.54" length="2.31" width="3.75" height="15.38" pack_weight="17.50" pack_length="21.75" pack_width="8.73" pack_height="17.13" retail_pack_qty="1" member_pack_qty="24" member_pack_type="B" member_break_pack="Y" model="P139C" item_picture_id="100183" country_code="US" to_be_discontinued="N" retail_uom="EA " Edit_Divisor="1" Exclusive_Brand_Code=""/> 

</Truserv> 

そして、これはPHPのコードです非常に少ない)ノードであり、なんらかの理由でほとんどのノードをロードしていません。たとえば、上記のxmlファイルを取ると、最後のノードではなく、最初のノード(item_nbr = "100024")だけが読み込まれます。

なぜそれが起こっているのですか?

XMLファイルは重く、その500mb以上のサイズです。これがXMLReaderを使用している理由です。

ありがとうございます!

+1

のいずれかの答えのような溶液を追加し、それを受け入れるか、完全に質問をしてください削除します。ありがとう。 – Gordon

+1

@ gordon試しましたが、8時間待っています。 8時間後に修正します。 –

答えて

0

私は自分自身を見つけました。問題は、大きなサイズのためにxmlファイルからいくつかの行を取り出すためにphp fseekを使って自分のxmlファイルに入った改行文字\ nです。そして、結果では、xmlreaderパーサーにそれ以上解析させない改行文字とともにデータを受け取りました。

正しいxmlファイルです:

<Root xmlns:sql='urn:schemas-microsoft-com:xml-sql'> 
<Truserv> 

    <Item item_nbr="100024" srp_cost="11.99" member_cost="4.90" ds_cost="4.08" short_description="36&quot; Bent SB Axe Handle" vendor_id="74658" dpt_code="L " class_code="14" subclass_code="36" vendor_name="LINK HANDLE DIV OF SEYMOUR" upc="25545100091" long_description="36&quot;, Homeowner Bent Single Bit Axe Handle, For 3 To 5 LB Axes, Good Weight Hickory, Natural Wax Finish, 1 Wood Wedge Included, Hang Up Hook In Handle For Pegboard Display." weight="1.50" length="0.27" width="0.60" height="3.13" pack_weight="18.60" pack_length="3.20" pack_width="7.20" pack_height="37.50" retail_pack_qty="1" member_pack_qty="12" member_pack_type="B" member_break_pack="Y" model="100-09" item_picture_id="100024" country_code="US" to_be_discontinued="N" retail_uom="EA " Edit_Divisor="1" Exclusive_Brand_Code=""/> 

    <Item item_nbr="100183" srp_cost="16.99" member_cost="10.61" ds_cost="10.64" short_description="Lav Pop Up Assembly" vendor_id="5967" dpt_code="A " class_code="38" subclass_code="11" vendor_name="UNITED STATES HDW MFG/U S HA" upc="16356025802" long_description="1-1/4&quot;, Chrome Finish, Lavatory Pop Up Assembly, With Push Rod, No Overflow, ABS Plastic Top &amp; Body." weight="0.54" length="2.31" width="3.75" height="15.38" pack_weight="17.50" pack_length="21.75" pack_width="8.73" pack_height="17.13" retail_pack_qty="1" member_pack_qty="24" member_pack_type="B" member_break_pack="Y" model="P139C" item_picture_id="100183" country_code="US" to_be_discontinued="N" retail_uom="EA " Edit_Divisor="1" Exclusive_Brand_Code=""/> 

</Truserv> 
関連する問題