小编And*_*dre的帖子

XSLT生成另一个XSLT脚本

在这个线程中,我引用了我的上一个线程:使用XSLT将XML转换为CSV - 动态列.

引用线程中的XSLT脚本工作正常但是使用大型XML文档时性能不佳.现在我想编写一个XSLT脚本,输出另一个XSLT脚本,该脚本将输出最终的CSV文件.

题:

如何编写第一个XSLT脚本?输出应如下所示:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="/*">
    <xsl:text>Name;</xsl:text>
    <xsl:text>Brother;</xsl:text>
    <xsl:text>Sister</xsl:text>
    <-- this part is dynamic -->
    <xsl:apply-templates select="Person" />
</xsl:template>

<xsl:template match="Person">
    <xsl:value-of select="Name" />
    <xsl:value-of select="Brother" />
    <xsl:value-of select="Sister" />
    <-- this part is dynamic too -->
    <xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

输入的XML文件与引用的线程中的相同:

<Person>
    <Name>John</Name>
    <FamilyMembers>
        <FamilyMember>
            <Name>Lisa</Name>
            <Type>Sister</Type>
        </FamilyMember>
        <FamilyMember>
            <Name>Tom</Name>
            <Type>Brother</Type>
        </FamilyMember>
    </FamilyMembers>
</Person>
<Person>
    <Name>Daniel</Name>
    <FamilyMembers>
        <FamilyMember>
            <Name>Peter</Name>
            <Type>Father</Type>
        </FamilyMember>
    </FamilyMembers>
</Person>
Run Code Online (Sandbox Code Playgroud)

对于每个不同的类型元素,在生成的XSLT脚本中应该有如下所示的一行: …

xml xslt

7
推荐指数
1
解决办法
2376
查看次数

使用实体框架创建临时表

我想使用实体框架在sql server中创建一个临时表。有什么办法可以做到吗?如果我可以创建一个临时表,那么我的下一个问题是如何读取它?

提前致谢。

安德烈

c# sql csla entity-framework

5
推荐指数
1
解决办法
1万
查看次数

在C#中设置TabControl的DisplayMemberPath

我用C#代码创建了一个TabControl.我将其ItemsSource绑定到一个集合并设置边距.出于某种原因,设置其DisplayMemberPath不会工作.

_tabControl = new TabControl();
_tabControl.Margin = new Thickness(5);
_tabControl.DisplayMemberPath = "Header";
_tabControl.SetBinding(ItemsControl.ItemsSourceProperty, itemsSourceBinding);
Run Code Online (Sandbox Code Playgroud)

集合中的每个项目都有一个名为"Header"的属性.

为什么这不起作用?

安德烈

编辑:这是所有相关的代码:

public partial class VariationGroupPreviewOptionsView
{
    public string Header { get; set; }

    public VariationGroupPreviewOptionsView()
    {
        InitializeComponent();
        DataContext = new VariationGroupPreviewOptionsViewModel();
    }
}

private void OptionsCommandExecute()
{
    var dlg = new OptionsDialog();
    dlg.ItemsSource = new List<ContentControl>() {new VariationGroupPreviewOptionsView(){Header = "Test"}};
    dlg.ShowDialog();
}

public class OptionsDialog : Dialog
{

    public static readonly DependencyProperty ItemsSourceProperty =
        DependencyProperty.Register("ItemsSource", typeof (IEnumerable), typeof (OptionsDialog), new PropertyMetadata(default(IEnumerable)));

    public IEnumerable …
Run Code Online (Sandbox Code Playgroud)

c# wpf binding tabcontrol

0
推荐指数
1
解决办法
830
查看次数

标签 统计

c# ×2

binding ×1

csla ×1

entity-framework ×1

sql ×1

tabcontrol ×1

wpf ×1

xml ×1

xslt ×1