我的程序是读取content.xml文件
因此,在阅读style:name="T103"
结束标记后,它将使用reader.Read()
函数,然后跳转到</office:automatic-styles>
标记。
将所有内容都删除到该标记。
那是为什么?
<style:style style:name="T101" style:family="text">
<style:text-properties style:font-name="Arial1" fo:font-size="10pt" style:font-size-asian="10pt" style:font-name-complex="Arial3"/>
</style:style>
<style:style style:name="T102" style:family="text">
<style:text-properties style:font-name="Arial1" fo:font-style="normal" style:font-style-asian="normal" style:font-name-complex="Arial3"/>
</style:style>
<style:style style:name="T103" style:family="text">
<style:text-properties style:font-name="Arial1" fo:font-style="normal" style:font-style-asian="normal" style:font-name-complex="Arial3" style:font-size-complex="12pt"/>
</style:style>
<style:style style:name="T104" style:family="text">
<style:text-properties style:font-name="Arial1" fo:font-style="normal" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" style:font-style-asian="normal" style:font-name-complex="Arial3" style:font-size-complex="12pt"/>
</style:style>
<style:style>
代码的代码:
public void style_style()
{
reader.MoveToFirstAttribute();
if (reader.Name == "style:name")
{
if (!(reader.Value.StartsWith("Table")))
if (reader.Value.StartsWith("T"))
styleName = reader.Value;
if (styleName == "T103")
Console.Write("");
}
}
和<style:text-properties>
:
public void style_text_properties()
{
while (reader.MoveToNextAttribute())
{
if (styleName.Length > 1)
switch (reader.Name)
{
case "fo:font-style":
if (reader.Value == "italic")
isItalic = true;
break;
case "style:text-underline-style":
if (reader.Value == "solid")
isUnderline = true;
break;
case "fo:font-weight":
if (reader.Value == "bold")
isBold = true;
break;
}
}
}
我尝试调试,我发现在</style:style>
节点之后,对于style:name="T103"
,它会跳过每个节点,直到</office:automatic-styles>
。
该节点是所有样式节点之后的最后一个结束标记。
为什么这样做?