Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确的XML语法_Xml - Fatal编程技术网

正确的XML语法

正确的XML语法,xml,Xml,这是在XML文件中存储地址的正确方法吗?如果是的话,我将如何在三行中回显它,就像地址应该使用PHP编写一样。如果不是,正确的方法是什么?(文件不完整。我只对地址感兴趣。) 番茄和奶酪 $6.85 $10.85 它的XML格式不是很好:“存储地址”属性名称中有一个空格 XML数据通常是高度结构化的,因此,例如,在价格中使用美元符号似乎有点奇怪。此外,地址是单个字符串,而不是拆分为多个组件。当然,如何构造数据取决于您自己,这在很大程度上取决于您的应用程序是什么 如何显示数据完全取决于您所使用的编程

这是在XML文件中存储地址的正确方法吗?如果是的话,我将如何在三行中回显它,就像地址应该使用PHP编写一样。如果不是,正确的方法是什么?(文件不完整。我只对地址感兴趣。)


番茄和奶酪
$6.85
$10.85

它的XML格式不是很好:“存储地址”属性名称中有一个空格

XML数据通常是高度结构化的,因此,例如,在价格中使用美元符号似乎有点奇怪。此外,地址是单个字符串,而不是拆分为多个组件。当然,如何构造数据取决于您自己,这在很大程度上取决于您的应用程序是什么


如何显示数据完全取决于您所使用的编程环境,您没有告诉我们。价格是指配料还是指整个比萨饼?如果它指的是整个比萨饼,为什么它会嵌入到topping中?

不,它不是格式良好的XML-属性名称中不能有空格,因此:

Store address="16  Main St Anytown, US 00000"
应该是:

StoreAddress="16  Main St Anytown, US 00000"

作为对存储地址的响应:建议不要将其存储为属性,但可以。出于几个原因,最好将相关数据存储在标记中,而不是作为属性。你做这件事的方式让程序员很难只在街上或城市里工作。它也更难阅读、维护,而且在不破坏现有代码的情况下进行更改也不那么容易

有关更多详细信息,请阅读下页。特别是“我最喜欢的方式”和“避免XML属性?”


目前无法从给定XML片段的属性值中提取换行符。这里没有换行符,只有空格,无法区分应该表示换行符的空格和仅仅表示空格的空格

可以在属性值中添加换行符。但为了避免将它们挤压到空间中,必须将它们逃逸:

<store name="Pizza R Us" Store_address="16 Main St&#10;Anytown, US&#10;00000">
您可能更喜欢使用元素内容而不是属性值来存储这样的信息,例如:

<store>
    <name><?php echo htmlspecialchars($name); ?></name>
    <address><?php echo htmlspecialchars($address); ?></address>
    <items>
        ...
    </items>
</store>

...
由于保留了元素内容中的换行符

<store
    name="<?php echo htmlspecialchars($name); ?>"
    Store_address="<?php echo str_replace("\n", "&#10;", htmlspecialchars($address)); ?>"
>
<store>
    <name><?php echo htmlspecialchars($name); ?></name>
    <address><?php echo htmlspecialchars($address); ?></address>
    <items>
        ...
    </items>
</store>