]> git.p6c8.net - selfforum.git/commitdiff
added sub parse_xml_file
authorndparker <>
Fri, 30 Mar 2001 21:05:43 +0000 (21:05 +0000)
committerndparker <>
Fri, 30 Mar 2001 21:05:43 +0000 (21:05 +0000)
selfforum-cgi/shared/Posting/_lib.pm

index 05a0285c2a2cef36a1590a88086f519d09341a99..f42ee992767c4e86a508a919c2d20d9081f4cd38 100644 (file)
@@ -24,7 +24,7 @@ use XML::DOM;
 # Export
 # ====================================================
 
 # Export
 # ====================================================
 
-@EXPORT_OK = qw(get_message_header get_message_body get_message_node get_body_node parse_single_thread
+@EXPORT_OK = qw(get_message_header get_message_body get_message_node get_body_node parse_single_thread parse_xml_file
                 hr_time short_hr_time long_hr_time
                 get_all_threads create_forum_xml_string
                 save_file);
                 hr_time short_hr_time long_hr_time
                 get_all_threads create_forum_xml_string
                 save_file);
@@ -140,6 +140,26 @@ sub get_message_node ($$$)
   wantarray ? ($mnode, $tnode) : $mnode;
 }
 
   wantarray ? ($mnode, $tnode) : $mnode;
 }
 
+### sub parse_xml_file ($) #####################################################
+#
+# load the specified XML-File and create the DOM tree
+# this sub is only to avoid errors and to centralize the parse process
+#
+# Params: $file filename
+# Return: XML::DOM::Document Object (Document Node) or false
+#
+sub parse_xml_file ($) {
+  my $file = shift;
+  my $xml = eval {
+              local $SIG{__DIE__};
+              new XML::DOM::Parser (KeepCDATA => 1) -> parsefile ($file);
+            };
+
+  return if ($@);
+
+  $xml;
+}
+
 ###########################
 # sub parse_single_thread
 #
 ###########################
 # sub parse_single_thread
 #
@@ -572,4 +592,4 @@ sub long_hr_time ($) {
 # ====================================================
 
 # making require happy
 # ====================================================
 
 # making require happy
-1;
+1;
\ No newline at end of file

patrick-canterino.de