(xml )修改width

benqlch 2010-09-25 10:39:12

<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn >
<Width>1.75cm</Width>
</MatrixColumn>
<MatrixColumn >
<Width>4cm</Width>
</MatrixColumn>
</MatrixColumns>



xml 文件
有两个<MatrixColumn >
如何分别修改<Width>
...全文
124 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
benqlch 2010-09-27
  • 打赏
  • 举报
回复
两列一起修改,如果是只修改其中一个,如何操作呢!
孟子E章 2010-09-27
  • 打赏
  • 举报
回复

Dim p As String = "C:\c.xml"
Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
doc.Load(p)
Dim ns As System.Xml.XmlNamespaceManager = New System.Xml.XmlNamespaceManager(doc.NameTable)
ns.AddNamespace("mxh", "http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition")
Dim list As System.Xml.XmlNodeList = doc.SelectNodes("//mxh:MatrixColumns/mxh:MatrixColumn/mxh:Width", ns)

For Each node As System.Xml.XmlNode In list
node.InnerText = "100cm"
Next
doc.Save(p)
benqlch 2010-09-27
  • 打赏
  • 举报
回复

<Grouping Name="matrix1_xh">
<GroupExpressions>
<GroupExpression>=Fields!xh.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="xh">
<rd:DefaultName>xh</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<TextAlign>Right</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>5</ZIndex>
<CanGrow>true</CanGrow>
<Value>=Fields!xh.Value</Value>
</Textbox>
</ReportItems>
</DynamicColumns>
</ColumnGrouping>
<ColumnGrouping>
<Height>0.63492cm</Height>
<StaticColumns>
<StaticColumn>
<ReportItems>
<Textbox Name="textbox2">
<rd:DefaultName>textbox2</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>4</ZIndex>
<CanGrow>true</CanGrow>
<Value>cj</Value>
</Textbox>
</ReportItems>
</StaticColumn>
<StaticColumn>
<ReportItems>
<Textbox Name="textbox3">
<rd:DefaultName>textbox3</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<TextAlign>Right</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>3</ZIndex>
<CanGrow>true</CanGrow>
<Value>df</Value>
</Textbox>
</ReportItems>
</StaticColumn>
</StaticColumns>
</ColumnGrouping>
</ColumnGroupings>
<Width>8.28968cm</Width>
<Corner>
<ReportItems>
<Textbox Name="textbox1">
<rd:DefaultName>textbox1</rd:DefaultName>
<Style>
<BorderColor>
<Right>Black</Right>
<Bottom>Black</Bottom>
</BorderColor>
<BorderStyle>
<Right>Solid</Right>
<Bottom>Solid</Bottom>
</BorderStyle>
<BorderWidth>
<Right>1pt</Right>
<Bottom>1pt</Bottom>
</BorderWidth>
<FontFamily>宋体</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>6</ZIndex>
<CanGrow>true</CanGrow>
<Value />
</Textbox>
</ReportItems>
</Corner>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
</Style>
<MatrixRows>
<MatrixRow>
<Height>0.63492cm</Height>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="cj">
<rd:DefaultName>cj</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>1</ZIndex>
<CanGrow>true</CanGrow>
<Value>=First(Fields!cj.Value)</Value>
</Textbox>
</ReportItems>
</MatrixCell>
<MatrixCell>
<ReportItems>
<Textbox Name="df">
<rd:DefaultName>df</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<TextAlign>Right</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<CanGrow>true</CanGrow>
<Value>=max(Fields!df.Value)</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
</MatrixRow>
</MatrixRows>
<Height>1.90476cm</Height>
</Matrix>
</ReportItems>
<Height>4.9cm</Height>
</Body>
<Language>zh-CN</Language>
<TopMargin>1.5cm</TopMargin>
<PageHeight>29.7cm</PageHeight>
</Report>


benqlch 2010-09-27
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<DataSources>
<DataSource Name="tyksConnectionString">
<rd:DataSourceID>474a1b12-e6fe-46c4-937e-7b75e794063a</rd:DataSourceID>
<ConnectionProperties>
<DataProvider>OLEDB</DataProvider>
<ConnectString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\tyks.mdb</ConnectString>
</ConnectionProperties>
</DataSource>
</DataSources>
<InteractiveHeight>29.7cm</InteractiveHeight>
<rd:DrawGrid>true</rd:DrawGrid>
<InteractiveWidth>21cm</InteractiveWidth>
<rd:GridSpacing>0.25cm</rd:GridSpacing>
<rd:SnapToGrid>true</rd:SnapToGrid>
<RightMargin>2.5cm</RightMargin>
<LeftMargin>2.5cm</LeftMargin>
<PageHeader>
<PrintOnFirstPage>true</PrintOnFirstPage>
<Height>1.25529cm</Height>
<PrintOnLastPage>true</PrintOnLastPage>
</PageHeader>
<BottomMargin>1.5cm</BottomMargin>
<rd:ReportID>8cb9dad7-16af-47e6-85e4-e074eee3d5f3</rd:ReportID>
<PageWidth>21cm</PageWidth>
<DataSets>
<DataSet Name="tyksDataSet_kscj">
<Fields>
<Field Name="kh">
<DataField>kh</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="xbdm">
<DataField>xbdm</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="xh">
<DataField>xh</DataField>
<rd:TypeName>System.Int16</rd:TypeName>
</Field>
<Field Name="cj">
<DataField>cj</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="df">
<DataField>df</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="zh">
<DataField>zh</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="sxh">
<DataField>sxh</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="ftz">
<DataField>ftz</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="fcs">
<DataField>fcs</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>tyksConnectionString</DataSourceName>
<CommandText>SELECT kh, xbdm, xh, cj, df, zh, sxh, ftz, fcs FROM kscj</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<rd:DataSetInfo>
<rd:DataSetName>tyksDataSet</rd:DataSetName>
<rd:TableName>kscj</rd:TableName>
<rd:TableAdapterName>kscjTableAdapter</rd:TableAdapterName>
<rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>
<rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<Code />
<Width>24cm</Width>
<Body>
<ColumnSpacing>1cm</ColumnSpacing>
<ReportItems>
<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn>
<Width>1.75cm</Width>
</MatrixColumn>
<MatrixColumn>
<Width>4cm</Width>
</MatrixColumn>
</MatrixColumns>
<DataSetName>tyksDataSet_kscj</DataSetName>
<RowGroupings>
<RowGrouping>
<Width>2.53968cm</Width>
<DynamicRows>
<Grouping Name="matrix1_kh">
<GroupExpressions>
<GroupExpression>=Fields!kh.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="kh">
<rd:DefaultName>kh</rd:DefaultName>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>2</ZIndex>
<CanGrow>true</CanGrow>
<Value>=Fields!kh.Value</Value>
</Textbox>
</ReportItems>
</DynamicRows>
</RowGrouping>
</RowGroupings>
<ColumnGroupings>
<ColumnGrouping>
<Height>0.63492cm</Height>
<DynamicColumns>


孟子E章 2010-09-26
  • 打赏
  • 举报
回复
给你说了几次了
要么使用
XmlNamespaceManager


要么贴出你的xml

你应该补习一下xml名称空间(或者叫命名空间)的基础知识
benqlch 2010-09-26
  • 打赏
  • 举报
回复
只是一部分,
古今多少事 2010-09-25
  • 打赏
  • 举报
回复
难得老孟问你两次了。。
孟子E章 2010-09-25
  • 打赏
  • 举报
回复
你的 xml内容就这么多?
benqlch 2010-09-25
  • 打赏
  • 举报
回复
通过程序,分别来设置 第一个 <MatrixColumn > 的width 第二个的width



<Matrix Name="matrix1">
<MatrixColumns>
<MatrixColumn >
<Width>1.75cm</Width>
</MatrixColumn>
<MatrixColumn >
<Width>4cm</Width>
</MatrixColumn>
</MatrixColumns>




孟子E章 2010-09-25
  • 打赏
  • 举报
回复
带名称空间的方法,参见
http://msdn.microsoft.com/zh-cn/library/4bektfx9.aspx

需要使用XmlNamespaceManager
孟子E章 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 benqlch 的回复:]

Dim list As XmlNodeList = rdlDoc.SelectNodes("//MatrixColumns/MatrixColumn/Width")
MsgBox(list.Count)
For Each node As XmlNode In list

node.InnerText = "0cm"
……
[/Quote]

你的xml例子代码不全吧,应该还有名称空间
benqlch 2010-09-25
  • 打赏
  • 举报
回复
Dim list As XmlNodeList = rdlDoc.SelectNodes("//MatrixColumns/MatrixColumn/Width")
MsgBox(list.Count)
For Each node As XmlNode In list

node.InnerText = "0cm"
Next


MsgBox(list.Count) =0
bancxc 2010-09-25
  • 打赏
  • 举报
回复
XMLNodeList nodelist = Dom.SelectNodes("//MatrixColumns/MatrixColumn/Width"));
foreach(XMLNode node in nodelist)
{
node.InnerText="..."
}
benqlch 2010-09-25
  • 打赏
  • 举报
回复
二楼 搞不定啊
bancxc 2010-09-25
  • 打赏
  • 举报
回复
foreach(XMLNode node in Dom.SelectNodes("//MatrixColumns/MatrixColumn/Width"))
{
node.InnerText="..."
}
兔子-顾问 2010-09-25
  • 打赏
  • 举报
回复
你想如何修改?如果是我。就用正则了。
<MatrixColumns>(\s*<MatrixColumn\s*>\s*<Width>(?<num>[^<]+)</Width>\s*</MatrixColumn>)+\s*</MatrixColumns>

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧