Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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/7/css/38.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/0/asp.net-core/3.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
Html XML可以与CSS样式表交互吗?_Html_Css_Xml - Fatal编程技术网

Html XML可以与CSS样式表交互吗?

Html XML可以与CSS样式表交互吗?,html,css,xml,Html,Css,Xml,假设我有一个CSS表,其中包含显示系统状态的站点如何显示的信息。根据站点的状态,以下之一将成为状态的属性: #green_status { color: white; text-align: left; background: url(images/green.jpg) no-repeat; } #yellow_status { color: white; text-align: left; background: url(images/yel

假设我有一个CSS表,其中包含显示系统状态的站点如何显示的信息。根据站点的状态,以下之一将成为状态的属性:

#green_status 
{
    color: white;
    text-align: left;
    background: url(images/green.jpg) no-repeat;
}

#yellow_status
{
    color: white;
    text-align: left;
    background: url(images/yellow.jpg) no-repeat;
}

#red_status
{
    color: white;
    text-align: left;
    background: url(images/red.jpg) no-repeat;
}
以及一个XML文档,用于存储各个站点及其状态的详细信息

    <site> 
        <name>New Site</name>
        <headerImage>header image goes here</headerImage>
        <systemStatus color="green">Normal</systemStatus>
        <networkNotes>System status is normal</networkNotes>
    </site>

新址
标题图像在这里
典型的
系统状态正常
我将使用XMLDOM从XML中选择值来填充页面的元素。虽然经过一些测试,我仍然发现我可以更改系统状态的文本,但不能更改条的颜色,而无需实际更改站点的属性

我希望能够只更改XML文件并设置
系统已关闭
,这样不仅可以将文本更改为“red.jpg”,还可以将条颜色更改为“red.jpg”,而无需进入html并手动编辑状态

到目前为止,为了解决这个问题,我在XML元素中添加了'color=“green,yellow,red”'属性,在CSS中添加了2个新的状态(由这个问题的第一个代码块指示),到目前为止,我还无法连接这些点


有没有一种方法可以让我只需要对XML文件进行更改就可以更改该站点系统状态的文本和条形图颜色?这里的最终目标是能够更改
系统状态的XML属性和文本,并更改站点上的栏和文本。

使用CSS3属性选择器

<systemStatus color="green">

使用CSS3属性选择器

<systemStatus color="green">

您可以使用以下处理指令将CSS样式表链接到XML文件:

<?xml-stylesheet href="my-style.css"?>
... rest of document here...
我想你也可以使用特殊的选择器,比如
:first child
等等

顺便说一句,没有办法在XML文件中包含Javascript,但是如果当前XML没有您需要的结构,您应该能够将XML转换为另一个XML。
在转换中,您可以添加设置样式所需的元素和属性。另请参见使用。

您可以使用以下处理指令将CSS样式表链接到XML文件:

<?xml-stylesheet href="my-style.css"?>
... rest of document here...
我想你也可以使用特殊的选择器,比如
:first child
等等

顺便说一句,没有办法在XML文件中包含Javascript,但是如果当前XML没有您需要的结构,您应该能够将XML转换为另一个XML。
在转换中,您可以添加设置样式所需的元素和属性。另请参见使用。

其他人所说的内容,此外,您还可以通过CSS设置内容:

systemStatus[color='green']::after {
  content: "ALL IS WELL";
}
我建议对属性使用描述性术语,而不是显式地使用颜色,这样您以后就可以在不改变命名法的情况下改变对显示内容的看法。差不多

  <systemStatus status="ok"/>

其他人都说了什么,另外你也可以通过CSS设置内容:

systemStatus[color='green']::after {
  content: "ALL IS WELL";
}
我建议对属性使用描述性术语,而不是显式地使用颜色,这样您以后就可以在不改变命名法的情况下改变对显示内容的看法。差不多

  <systemStatus status="ok"/>

XML不指定任何显示或格式,因此,如果确实希望将文本显示为绿色,则需要使用显示语言(例如HTML或XSL-FO)来执行此操作

您可以指定一个包含(X)个HTML片段的标记,或者作为XHTML片段,例如

<site xmlns:h="http://www.w3.org/1999/xhtml"> 
    ...
    <systemStatus><h:p class="ok" style="color: green;">Normal</h:p></systemStatus>
    ...
</site>

...
典型的
...
或作为CDATA:

<site> 
    ...
    <systemStatus><![CDATA[<p class="ok" style="color: green;">Normal</p>]]></systemStatus>
    ...
</site>

...
正常

]> ...
然后,您的主机显示语言(在您的例子中是HTML+Javascript)必须将其作为(X)HTML片段或以文本形式与element.innerHTML一起插入到主机文档的DOM中


使用innerHTML从不受信任的源插入时要小心,但是,如果XML文件中的数据来自不受信任的源,它们可能包含Javascript代码,在插入主机HTML时可能会执行这些代码。

XML不指定任何显示或格式,因此如果确实希望将文本显示为绿色,您需要使用显示语言(例如HTML或XSL-FO)来实现这一点

您可以指定一个包含(X)个HTML片段的标记,或者作为XHTML片段,例如

<site xmlns:h="http://www.w3.org/1999/xhtml"> 
    ...
    <systemStatus><h:p class="ok" style="color: green;">Normal</h:p></systemStatus>
    ...
</site>

...
典型的
...
或作为CDATA:

<site> 
    ...
    <systemStatus><![CDATA[<p class="ok" style="color: green;">Normal</p>]]></systemStatus>
    ...
</site>

...
正常

]> ...
然后,您的主机显示语言(在您的例子中是HTML+Javascript)必须将其作为(X)HTML片段或以文本形式与element.innerHTML一起插入到主机文档的DOM中


使用innerHTML从不受信任的源插入时要小心,但是,如果XML文件中的数据来自不受信任的源,它们可能包含Javascript代码,当插入到主机HTML中时可能会执行这些代码。

CSS for XML是可能的:Javascript,我想不是。这就是我所看到的。我希望它能用Javascript完成,除非你先将XML格式化为HTML。JavaScript在JavaScript引擎的上下文中运行。您是否能够使用某种XSLT来实现这一点?CSS for XML是可能的:Javascript,我认为不是。对,这就是我所看到的。我希望它能用Javascript完成,除非你先将XML格式化为HTML。JavaScript在JavaScript引擎的上下文中运行。您是否能够使用某种XSLT来实现这一点?我应该澄清一下,我在网站的HTML文件中使用javascript。我没有使用javascript来做这些事情,所以我会尝试编辑这部分和标记,因为这不是这里的主要问题。好的,明白了。那么,最后一段可能对你没有用处,但是CSS部分仍然适用。我应该澄清一下,我在我的HTML文件中为该站点使用javascript。我没有使用javascript来做这些事情,所以我会尝试编辑这部分和标记,因为这不是这里的主要问题。好的,明白了。那么,最后一段可能对您没有用处,但CSS部分仍然适用。