XML字符串处理成PHP并在浏览器中显示数据表?

大卫·杜利(David Dooley)

我正在大学中使用explode在PHP中进行一些研究,并想尝试将一些XML处理为字符串以在浏览器中显示数据表。我想显示一个具有适当表标题的HTML表,其中每个属性都是其自己的列,并且每个学生都有一个新行。

表格的最后一行应涵盖所有列,并包含文字“学生人数:12”(计算人数)。我当时想explode在字符串上使用,但是到目前为止我只能显示数据-有人可以将我推向正确的方向吗?

<html>
    <head><title>Week3</title></head>

<body>
       <?php 

    $xml = '<students> 
            <student> 
            <student_number>12121212</student_number> 
            <f_name>Alan</f_name> 
            <s_name>Hannaway</s_name> 
            <module>SWD</module> 
            <lecturetime>1:00</lecturetime> 
            <lab_time>2:30</lab_time> 
            <group>A</group> 
    </student> 

    <student> 
            <student_number>13131313</student_number> 
            <f_name>Peter</f_name> 
             <s_name>Jones</s_name> 
             <module>PDS</module> 
             <lecturetime>12:00</lecturetime> 
             <lab_time>1:30</lab_time> 
             <group>B</group> 
    </student> 

    <student> 
             <student_number>14141414</student_number> 
             <f_name>Clare</f_name> 
             <s_name>Murphy</s_name> 
             <module>SWD</module> 
             <lecturetime>1:00</lecturetime> 
             <lab_time>2:30</lab_time> 
             <group>B</group> 
    </student> 
    <student> 
            <student_number></student_number> 
            <f_name>Jack</f_name> 
            <s_name>Cobane</s_name> 
            <module>PDS</module> 
            <lecturetime></lecturetime> 
            <lab_time></lab_time> 
            <group></group> 
    </student> 

    <student> 
             <student_number>18181818</student_number> 
             <f_name>Rachel</f_name> 
             <s_name>Hartings</s_name> 
             <module>SWD</module> 
             <lecturetime>1:00</lecturetime> 
             <lab_time>2:30</lab_time> 
             <group></group> 
    </student> 

    <student> 
             <student_number></student_number> 
             <f_name>John</f_name> 
             <s_name>Molloy</s_name> 
             <module></module> 
             <lecturetime></lecturetime> 
             <lab_time>11:30</lab_time> 
             <group>A</group> 
    </student> 

    <student> 
             <student_number>20202020</student_number> 
             <f_name>David</f_name> 
             <s_name>Hutchinson</s_name> 
             <module>SWD</module> 
             <lecturetime>1:00</lecturetime> 
             <lab_time>2:30</lab_time> 
             <group>A</group> 
    </student> 
</students>';

$students = explode("<student>", $xml);
    echo '<students>';
    foreach($students as $student){
        echo '<tr>';
        if($students != "<students>"){
            $studentNamesOnly = explode("</student>" , $student);
            echo '<br>';
        }                   
        foreach($studentNamesOnly as $studentName){
            echo '<td>';
            echo $studentName;
            echo '</td>';
        }
        echo '</tr>';
    }
    echo '</students>'; 

          ?>
</body>
</html>

这是我到目前为止的输出:

12121212 Alan Hannaway SWD 1:00 2:30 A 

13131313 Peter Jones PDS 12:00 1:30 B 

14141414 Clare Murphy SWD 1:00 2:30 B 

18181818 Rachel Hartings SWD 1:00 2:30 

20202020 David Hutchinson SWD 1:00 2:30 A
维氏

试试这个。这是完美的工作

    $xml = '<students> 
        <student> 
        <student_number>12121212</student_number> 
        <f_name>Alan</f_name> 
        <s_name>Hannaway</s_name> 
        <module>SWD</module> 
        <lecturetime>1:00</lecturetime> 
        <lab_time>2:30</lab_time> 
        <group>A</group> 
    </student> 

    <student> 
        <student_number>13131313</student_number> 
        <f_name>Peter</f_name> 
         <s_name>Jones</s_name> 
         <module>PDS</module> 
         <lecturetime>12:00</lecturetime> 
         <lab_time>1:30</lab_time> 
         <group>B</group> 
    </student> 

    <student> 
         <student_number>14141414</student_number> 
         <f_name>Clare</f_name> 
         <s_name>Murphy</s_name> 
         <module>SWD</module> 
         <lecturetime>1:00</lecturetime> 
         <lab_time>2:30</lab_time> 
         <group>B</group> 
    </student> 
    <student> 
        <student_number></student_number> 
        <f_name>Jack</f_name> 
        <s_name>Cobane</s_name> 
        <module>PDS</module> 
        <lecturetime></lecturetime> 
        <lab_time></lab_time> 
        <group></group> 
   </student> 

    <student> 
         <student_number>18181818</student_number> 
         <f_name>Rachel</f_name> 
         <s_name>Hartings</s_name> 
         <module>SWD</module> 
         <lecturetime>1:00</lecturetime> 
         <lab_time>2:30</lab_time> 
         <group></group> 
</student> 

<student> 
         <student_number></student_number> 
         <f_name>John</f_name> 
         <s_name>Molloy</s_name> 
         <module></module> 
         <lecturetime></lecturetime> 
         <lab_time>11:30</lab_time> 
         <group>A</group> 
</student> 

<student> 
         <student_number>20202020</student_number> 
         <f_name>David</f_name> 
         <s_name>Hutchinson</s_name> 
         <module>SWD</module> 
         <lecturetime>1:00</lecturetime> 
         <lab_time>2:30</lab_time> 
         <group>A</group> 
</student> 
       </students>';

$students = explode("<student>", $xml);
$stArr = array();


foreach ($students as $student) {

        preg_match_all("/<.*?>(.*?)<\/.*?>/", $student, $matches);
        $stArr[] = $matches[1];
}


echo "<table border=\"1\" >";
echo "<tr>";
echo "<th>student_number</th>
      <th>f_name</th>
      <th>s_name</th>
      <th>module</th>
      <th>lecturetime</th>
      <th>lab_time</th>
      <th>group</th>";
echo "</tr>";
echo "<tr>";
foreach ($stArr as $arr) {

foreach ($arr as $key => $value) {
     echo "<td>".$value."</td>";
}

echo "</tr>";
}

echo "</table>";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 wiki markdown 解析字符串并在浏览器中显示

来自分类Dev

postgresql - 在浏览器字符串中显示来自数据库的新行标记

来自分类Dev

桌面浏览器中的primefaces数据表重排

来自分类Dev

从mysql检索数据并在浏览器中以ascii文本表的形式显示

来自分类Dev

如何使用 php 显示 MSQL 表并在 Web 浏览器中编辑它

来自分类Dev

如何使用PHP和Smarty同时获取数据并在浏览器中显示它们?

来自分类Dev

PHP显示Cookie并在浏览器中删除建议

来自分类Dev

从查询字符串中删除的参数在浏览器中首次显示

来自分类Dev

从查询字符串中删除的参数在浏览器中首次显示

来自分类Dev

使用来自 DataTable + ASP.Net 处理程序的数据在浏览器中显示 XML

来自分类Dev

XML字符串到SQL表中的数据表

来自分类Dev

在浏览器(Java)中显示带有OMML标签的OOXML字符串

来自分类Dev

PHP:处理用户输入到浏览器中的数据

来自分类Dev

PHP字符串具有相同的编码(UTF8),并且在浏览器中显示为相同,但不相等

来自分类Dev

为什么Android浏览器在用户代理字符串中显示为“ Safari”和“ Chrome”?

来自分类Dev

在Chrome浏览器中显示XML

来自分类Dev

如何比较数据表中的字符串和子字符串?

来自分类Dev

PHP-打开外部php文件并在浏览器中显示

来自分类Dev

在JSF数据表中显示Hibernate / JPA结果的原因:java.lang.NumberFormatException:对于输入字符串:“ [propertyname]”

来自分类Dev

在数据表的单元格中显示多个字符串,可以通过单击将其删除

来自分类Dev

PHP Curl 在浏览器上返回空字符串,在邮递员中工作

来自分类Dev

使用PHP脚本执行linux shell命令并在浏览器中显示?

来自分类Dev

PHP代码显示在浏览器中

来自分类Dev

编码字符串以在浏览器中正确显示

来自分类Dev

fromNow在不同的浏览器上显示不同的字符串

来自分类Dev

从从数据库读取的字符串将html加载到浏览器

来自分类Dev

Intellij调试器在收集数据并在SCALA中编程时显示Array [String]的“空”字符串

来自分类Dev

浏览器缓存通过 php 查询字符串提供的图像和视频

来自分类Dev

在Web浏览器中处理和显示大数据集

Related 相关文章

  1. 1

    使用 wiki markdown 解析字符串并在浏览器中显示

  2. 2

    postgresql - 在浏览器字符串中显示来自数据库的新行标记

  3. 3

    桌面浏览器中的primefaces数据表重排

  4. 4

    从mysql检索数据并在浏览器中以ascii文本表的形式显示

  5. 5

    如何使用 php 显示 MSQL 表并在 Web 浏览器中编辑它

  6. 6

    如何使用PHP和Smarty同时获取数据并在浏览器中显示它们?

  7. 7

    PHP显示Cookie并在浏览器中删除建议

  8. 8

    从查询字符串中删除的参数在浏览器中首次显示

  9. 9

    从查询字符串中删除的参数在浏览器中首次显示

  10. 10

    使用来自 DataTable + ASP.Net 处理程序的数据在浏览器中显示 XML

  11. 11

    XML字符串到SQL表中的数据表

  12. 12

    在浏览器(Java)中显示带有OMML标签的OOXML字符串

  13. 13

    PHP:处理用户输入到浏览器中的数据

  14. 14

    PHP字符串具有相同的编码(UTF8),并且在浏览器中显示为相同,但不相等

  15. 15

    为什么Android浏览器在用户代理字符串中显示为“ Safari”和“ Chrome”?

  16. 16

    在Chrome浏览器中显示XML

  17. 17

    如何比较数据表中的字符串和子字符串?

  18. 18

    PHP-打开外部php文件并在浏览器中显示

  19. 19

    在JSF数据表中显示Hibernate / JPA结果的原因:java.lang.NumberFormatException:对于输入字符串:“ [propertyname]”

  20. 20

    在数据表的单元格中显示多个字符串,可以通过单击将其删除

  21. 21

    PHP Curl 在浏览器上返回空字符串,在邮递员中工作

  22. 22

    使用PHP脚本执行linux shell命令并在浏览器中显示?

  23. 23

    PHP代码显示在浏览器中

  24. 24

    编码字符串以在浏览器中正确显示

  25. 25

    fromNow在不同的浏览器上显示不同的字符串

  26. 26

    从从数据库读取的字符串将html加载到浏览器

  27. 27

    Intellij调试器在收集数据并在SCALA中编程时显示Array [String]的“空”字符串

  28. 28

    浏览器缓存通过 php 查询字符串提供的图像和视频

  29. 29

    在Web浏览器中处理和显示大数据集

热门标签

归档